日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

resin指定java版本_resin的几个常用配置

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 resin指定java版本_resin的几个常用配置 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文著重介紹resin的幾個(gè)常用配置

注:

1. 本文并非resin.conf的使用說(shuō)明,只是從實(shí)用角度出發(fā),按需分析常用的配置。更多的內(nèi)容到官網(wǎng)學(xué)習(xí)吧;

2. 基于resin3.x的探討。

(友情提示:剛下載的resin中,resin.conf里的配置都是包含有注釋的——廢話!)

Dependency checking

在說(shuō)這個(gè)參數(shù)之前,不得不先了解一下resin的“Dependency checking”機(jī)制。resin會(huì)定時(shí)檢測(cè)和下配置的資源是否改動(dòng),如果改動(dòng),會(huì)根據(jù)相應(yīng)的策略重新啟動(dòng)web-apps和虛擬主機(jī)。那么,具體會(huì)檢測(cè)那些資源呢?下面是一個(gè)清單:

WEB-INF/classes下的class文件

WEB-INF/lib下的jar文件

中指定的class或jar

WEB-INF/resin-web.xml

WEB-INF/web.xml

resin.conf

引入的配置文件

通過(guò)或或配置的.war文件;

通過(guò)加入的文件

是否很眼熟?沒(méi)錯(cuò)!想當(dāng)年在本地調(diào)試web的時(shí)候,改一個(gè)java文件,總會(huì)罵罵咧咧的停掉resin然后重啟,甚是麻煩,會(huì)抱怨為啥class這么矯情,不能像改個(gè)jsp那樣立竿見(jiàn)影的看到效果。resin說(shuō)哥你想法是好的,但就算我有那個(gè)熱加載的意愿,它jvm也不干那,你去找sun(oracle就不提了)理論去吧。

那只好忍了吧,但是要等多久才會(huì)自動(dòng)加載一次呢?終于出場(chǎng)了。該標(biāo)簽定義了resin多久檢測(cè)一次上面的那些資源是否變更。這個(gè)值是需要加單位的,具體的值定義可以參考Period定義。默認(rèn)值為2s。

對(duì)于取值,resin.conf有這樣的一段注釋:

For production sites, change dependency-check-interval to something – like 600s, so it only checks for updates every 10 minutes.

就是說(shuō)這種檢測(cè)會(huì)非常耗時(shí),如果搞resin優(yōu)化的話,那么就把它設(shè)置的長(zhǎng)一些吧(比如在生產(chǎn)環(huán)境里就設(shè)置的長(zhǎng)一些)或者干脆設(shè)置為-1禁止自動(dòng)檢測(cè)變更,即禁止所謂的熱部署。

Dependency checking與RHS

這個(gè)參數(shù)明了了,實(shí)踐一下吧!于是搞一個(gè)測(cè)試項(xiàng)目出來(lái),簡(jiǎn)單配置一下,跑起來(lái)之后,象征性的改一下resin.conf,我們將2s改為1s,看終端的滾動(dòng)日志,咦,為什么沒(méi)有輸出日志?正在納悶之時(shí),日志來(lái)了,說(shuō)檢測(cè)到了resin.conf的dependency-check-interval改變了,重啟了所有的host。等等,我們之前的檢測(cè)時(shí)間是2s,為什么改動(dòng)文件后感覺(jué)過(guò)了很久才重啟了resin?

經(jīng)過(guò)多番測(cè)試,結(jié)論是:“Dependency checking”與resin重啟的機(jī)制完全是兩回事。dependency-check-interval只是告訴resin多久檢測(cè)一次上下文環(huán)境的變化,如果發(fā)生變化,先記錄下來(lái),負(fù)責(zé)監(jiān)控resin的進(jìn)程會(huì)定期檢測(cè)這個(gè)記錄,如果發(fā)現(xiàn)有新的變更記錄,則重啟resin。至于重啟的機(jī)制,屬于Resin Health System的范疇,本文暫不討論。但可以通過(guò)這句話簡(jiǎn)單的驗(yàn)證一下我們的推論:

Because your site’s reliability is important, Resin monitors its internal sensor net every 60 seconds, recording your server’s memory, cpu, network, database and cluster status.

重啟機(jī)制

如果是全局的配置(例如resin.conf)變更,則會(huì)重啟整個(gè)resin(包括所有的虛擬主機(jī)),如果只是某個(gè)webapp做了變更(如class、jsp、web.xml等),則只對(duì)webapp重啟。

需要說(shuō)明一點(diǎn)的是,在中亦可配置該標(biāo)簽(屬性),默認(rèn)情況下,該屬性會(huì)繼承全局的dependency-check-interval值,但如果設(shè)置該值為-1,會(huì)發(fā)生什么事呢?我想你不會(huì)那么做的……

想要class的變更像jsp那樣迅捷該怎么辦到呢?myeclipse可以辦到。eclipse for javaEE的話,還需要一些插件的支持,本文暫不做討論,參考本文最下邊關(guān)于熱部署的推薦文章。

一個(gè)server對(duì)應(yīng)于一個(gè)jvm實(shí)例,為配置在其中的各個(gè)虛擬主機(jī)提供服務(wù),接收請(qǐng)求并處理。在中可以配置HTTP,集群端口,存活時(shí)間,超時(shí)時(shí)間,線程池以及負(fù)載均衡。一個(gè)集群(cluster)可以包含多個(gè)server,但是id必須不同。server的屬性包含有address(ip)和port,如果resin中只有配置這一個(gè)單獨(dú)的server,則可以省略address和port,不過(guò)這么搞的話該server就無(wú)法作為集群的一部分工作,并且無(wú)法用命令行來(lái)管理。

常用屬性有address和port。即在定義server的時(shí)候同時(shí)配置address和port。address的默認(rèn)值是127.0.0.1。

假如由于同一個(gè)集群中的多個(gè)server配置大同小異,就可以先搞一個(gè)通用的server,其他的server會(huì)繼承通用的server配置,各自的配置又會(huì)覆蓋繼承的配置。就是充當(dāng)了這個(gè)通用的配置,正如其名,就將其中的配置看作是所有server的默認(rèn)配置即可。像HTTP端口,超時(shí),存活時(shí)間,JVM以及線程這些配置可以通過(guò)配置實(shí)現(xiàn)共享。

下面的一個(gè)配置中,定義了JVM的一些參數(shù)以及HTTP的通用配置:

02.

03.

04.

05.-Xmx2048m

06.

07.32

08.64

09.

10.

11.

12.

13.

14.

15....

list 1-1

也許你會(huì)異想天開(kāi)的問(wèn),既然是默認(rèn)的配置,那不顯示配置可以嗎?不可以!自己試一下就行了,去掉里面所有顯示定義,重啟resin你就會(huì)看到它的抗議:server-id ” has no matching definition. 并且此時(shí)resin會(huì)陷入腦殘式的無(wú)限次重啟之中,它也許認(rèn)為這是個(gè)偶然性事件,重啟resin以嘗試恢復(fù)。

從外部的文件讀取配置,這個(gè)外部文件必須符合一定的規(guī)范,否則resin解析不了的。標(biāo)準(zhǔn)就直接參考${RESIN_HOME}/conf/app-default.xml即可。配置全局的默認(rèn)訪問(wèn)頁(yè)面,可以修改app-default.xml中的。

http的典型用法是配置在server-default中。因?yàn)榻?jīng)常會(huì)有這樣一個(gè)場(chǎng)景:同一個(gè)cluster中的所有server監(jiān)聽(tīng)同一個(gè)端口。比如在lsit1-2中,兩個(gè)server都默認(rèn)監(jiān)聽(tīng)80端口。亦可配置在每個(gè)單獨(dú)的server中。

一個(gè)server可以服務(wù)于多個(gè)虛擬主機(jī),每個(gè)虛擬主機(jī)都可以有自己的servlets以及文檔。虛擬主機(jī)必須被明確的定義出來(lái),就是說(shuō)你不能只用(類比)。對(duì)于resin來(lái)說(shuō),創(chuàng)建一個(gè)虛擬主機(jī)就像創(chuàng)建一個(gè)目錄,然后再為其設(shè)置一個(gè)DNS一樣容易。一個(gè)虛擬主機(jī)可以包含一個(gè)或者多個(gè)web-app。簡(jiǎn)單的web-app可放置在一個(gè)名為“webapps”的頂級(jí)目錄下,就像Apache服務(wù)器上的/htdocs。復(fù)雜一點(diǎn)的站點(diǎn),可以先部署多個(gè)webapps,然后將這些web-app放置在這些webapps中。

舉例來(lái)說(shuō),假設(shè)有個(gè)server同時(shí)管理者兩個(gè)域名:www.gryffindor.com和www.slytherin.com,這兩個(gè)域名所對(duì)應(yīng)的web-app部署在不同的目錄下/var/resin/gryffindor和/var/resin/slytherin,他們共享同一個(gè)IP。當(dāng)用戶訪問(wèn)http://www.gryffindor.com/的時(shí)候,首先瀏覽器會(huì)發(fā)送HTTP請(qǐng)求到共享ip,resin接到請(qǐng)求后,從HTTP請(qǐng)求頭中取出Host,根據(jù)Host值再將請(qǐng)求轉(zhuǎn)發(fā)給相應(yīng)的虛擬主機(jī)。

host重要的屬性:

id: resin使用此id來(lái)區(qū)分不同的請(qǐng)求。若留空則表示該host為默認(rèn)host,當(dāng)其他的host無(wú)法被匹配的時(shí)候便會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到此host。

root-directory: 指定一個(gè)虛擬主機(jī)的文件系統(tǒng)的路徑,默認(rèn)的“.”就代表${RESIN_HOME}。參考下面list1-2的例子,可以更深入的理解root-directory的含義。

regexp:用正則表達(dá)式匹配域名。

01.

02.

03.

04....

05.

06.

07.

08.

09....

10.

11.

list 1-2

主要的屬性是id和root-directory,同host的id類似,web-app的id也是用于匹配url的。root-directory指定項(xiàng)目存放路徑,可以使用絕對(duì)路徑,相對(duì)路徑則是相對(duì)host的root-diirectory而言的。

注意:若使用myeclipse/eclipse創(chuàng)建項(xiàng)目,會(huì)有一個(gè)項(xiàng)目名(projectName),而此處的root-directory并非項(xiàng)目路徑,而是一個(gè)特殊的目錄,該目錄的子目錄以及文件必須符合Servlet規(guī)范,通常就是eclipse默認(rèn)創(chuàng)建的WebContent,這個(gè)名字可以隨便改。btw,這個(gè)規(guī)范的層級(jí)結(jié)構(gòu)主要有三個(gè)元素:

/WEB-INF/web.xml

/WEB-INF/classes/

/WEB-INF/lib/

必須包含有上面三個(gè)東西。配置文件(*.properties, *.xml等等)需要放在classes下。

舉例說(shuō)明Eclipse中新增一個(gè)項(xiàng)目,然后部署resin的方法,假設(shè)現(xiàn)在有份配置如下:

01.

02.

03.

04.

05.

06.

07.

08.

09.

10.

list 1-3

下面就簡(jiǎn)單講一個(gè)本地部署的例子(Eclipse for javaEE,resin3.x)

在Eclipse中新增一個(gè)項(xiàng)目,projectName為testResinCfg,根據(jù)Servlet規(guī)范,自行創(chuàng)建目錄,結(jié)構(gòu)如下:

01.testResinCfg

02.testResinCfg/src/

03.testResinCfg/web/

04.testResinCfg/web/META-INF/

05.testResinCfg/web/index.jsp

06.testResinCfg/web/WEB-INF/

07.testResinCfg/web/WEB-INF/classes/

08.testResinCfg/web/WEB-INF/lib/

09.testResinCfg/web/WEB-INF/work/

10.testResinCfg/web/WEB-INF/web.xml

list 1-4

本地調(diào)試:

在list1-3所示的默認(rèn)host中,增加一個(gè):

01.

02.

03.

04.

05.

06.

07.

08.

09.

10.

11.

12.

13.

14.

list 1-5

這樣訪問(wèn):http://localhost:8080/tt,如果是id=abc,那就是http://localhost:8080/abc。

在有dns的情況下:

在默認(rèn)host之下在配置一個(gè)host:

1.

2.

3.

4.root-directory="D:\Program_Files\workplace\cache_study\web"?/>

5.

list 1-6

之后便可以通過(guò)http://mytest.org/abcd來(lái)訪問(wèn)項(xiàng)目了。

附:Resin與Eclipse for javaEE的整合方法

resin官方文檔提供了安裝Resin Plugin for Eclipse的方法,Galileo版本以上的eclipse for javaEE就可以裝這個(gè)軟件了,就像裝tomcat一樣。具體參考:resin

eclipse support

這里主要介紹手工整合Resin與Eclipse的方法。步驟如下:

1. 將web application配置到resin.conf中,具體方法參考上面;

2. 在待部署的項(xiàng)目上右擊——Build Path,將${RESIN_HOME}/lib添加到項(xiàng)目的classpath中;

3. Run – Run Configurations(在本地調(diào)試的話,選擇Debug Configurations),彈出的會(huì)話中,雙擊“Java Application”創(chuàng)建一個(gè)Configuration,在右邊的Name中隨意填寫(xiě)一個(gè)名字,標(biāo)簽頁(yè)Main中,Project選擇待運(yùn)行web application,Main class填寫(xiě)resin的主類,查找該類有兩種方法:

該類可以在${RESIN_HOME}/lib/resin.jar中的META-INF/MANIFEST.MF文件中找到,即Main-Class的值;

將${RESIN_HOME}/lib添加到項(xiàng)目的classpath后,即在Main標(biāo)簽頁(yè)點(diǎn)擊“搜索”,在彈出的對(duì)話框中搜索“resin”,如果是3.0.x,選擇com.caucho.server.resin.Resin,如果是3.1.x,選擇com.caucho.boot.ResinBoot,具體的選擇,還是要參考META-INF/MANIFEST.MF文件的Main-Class值;

完成以上各步之后,點(diǎn)擊Run即可啟動(dòng)resin。

如果需要在啟動(dòng)resin的時(shí)候加上一些參數(shù),可以在Arguments中的VM arguments中輸入。

比如: -Djava.util.logging.manager=com.caucho.log.LogManagerImpl。

實(shí)際上,真正的部署與eclipse是沒(méi)有直接關(guān)系的,eclipse在這里僅僅是啟動(dòng)/關(guān)閉eclipse的作用。我們?nèi)绻苯釉陂_(kāi)發(fā)機(jī)上搞得花,就與eclipse無(wú)關(guān)了,因此還是需要掌握手工部署的技巧。

總結(jié)

以上是生活随笔為你收集整理的resin指定java版本_resin的几个常用配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久色99| 在线亚洲欧美 | 久久久国产精华液999999 | 日本爱爱免费视频 | 丁香花高清在线观看完整动漫 | 免费黄色在线视频 | 法国性xxxx精品hd | 色哟哟一区二区 | 色婷婷aⅴ | 欧美深夜在线 | 人妻久久一区二区 | 亚洲欲色 | 国精产品99永久一区一区 | 精品人妻一区二区三区潮喷在线 | 在线免费黄色 | 欧美乱妇日本无乱码特黄大片 | 久久国产成人精品国产成人亚洲 | 精品久久在线观看 | 国产男女猛烈无遮挡 | 黄色大片儿. | 亚洲专区免费 | 欧美xxxⅹ性欧美大片 | 你懂的在线观看视频 | 黑人玩弄人妻一区二区三区 | 在线视频观看一区二区 | 国产精品久久亚洲 | 美日韩黄色片 | jzzijzzij亚洲成熟少妇在线播放 狠狠躁日日躁夜夜躁2022麻豆 | 一本视频在线 | 一级片免费播放 | 成人免费视频网站在线看 | 欧美大片免费高清观看 | 日韩欧美手机在线 | 8x8ⅹ成人永久免费视频 | 日韩不卡高清视频 | 精品区| 久久久精品视频免费 | 亚洲精品你懂的 | 亚洲第一页视频 | 动漫精品一区一码二码三码四码 | 日韩中文网 | 悠悠色综合 | 18日本xxxxxxxxx95 国产又好看的毛片 | 欧美日韩精品中文字幕 | 免费黄色激情视频 | 成人免费观看av | 少妇一级淫片免费 | 日韩中文字幕在线观看 | 亚洲一级片在线播放 | 国产成人自拍视频在线 | 无码乱人伦一区二区亚洲 | 国产三级aaa | 欧美日韩色图 | 日韩欧美大片 | 激情综合网站 | 欧美综合社区 | 精品成人av一区二区在线播放 | 亚洲天堂视频网 | 欧美亚洲三级 | 无遮挡av | 色多多在线观看 | 久久久久毛片 | 亚洲天堂黄 | 大香蕉视频一区二区 | avtt久久| 91在线免费视频 | www,久久久| 91在线不卡| 天天爽天天爽夜夜爽毛片 | 天美视频在线观看 | 久久免费激情视频 | 内射一区二区三区 | 叶山小百合av一区二区 | 欧洲av在线播放 | av一区二| 欧美精品123| aaa午夜| 色婷婷av一区二区三区四区 | 午夜成人免费电影 | 黄色片网站在线免费观看 | 国产精品大屁股白浆一区 | 欧美影院一区二区 | 美女扒开腿让男人 | 日本888xxxx | 乌克兰极品av女神 | 日本久久一区二区 | 杨幂国产精品一区二区 | 亚洲成人一区在线 | 妺妺窝人体色www婷婷 | 中文字幕在线视频免费播放 | 男人舔女人下部高潮全视频 | 亚洲系列中文字幕 | 欧美日韩高清在线 | 四川丰满少妇被弄到高潮 | 国产午夜一区 | 可以在线观看的av | 天堂网a| 日日夜夜国产精品 | 国产在线第一页 |