----by johnson
话说与resin打交道很久了,却从未系统了解过。resin一听火了,说:你老兄当真与我打交道很久了?工具、流程如此发达的今天,部署这种工作都由专门的工具去搞了,你老兄也就偶尔着看下我的死活,最多不过是上机器去机械的kill一下,接着再start一下,你真的了解我吗?好吧,我承认不太了解,搞基不是我的风格 -_-! 呵呵,废话少扯,就先了解了解你的核心配置吧。
注:
1. 本文并非resin.conf的使用说明,只是从实用角度出发,按需分析常用的配置。更多的内容到官网学习吧;
2. 基于resin3.x的探讨。
(友情提示:刚下载的resin中,resin.conf里的配置都是包含有注释的——废话!)
<dependency-check-interval>
Dependency checking
在说这个参数之前,不得不先了解一下resin的“Dependency checking”机制。resin会定时检测<web-app>和<host>下配置的资源是否改动,如果改动,会根据相应的策略重新启动web-apps和虚拟主机。那么,具体会检测那些资源呢?下面是一个清单:
· WEB-INF/classes下的class文件
· WEB-INF/lib下的jar文件
· <class-loader>中指定的class或jar
· WEB-INF/resin-web.xml
· WEB-INF/web.xml
· resin.conf
· <resin:import>引入的配置文件
· 通过<archive-path>或<web-app-deploy>或<host-deploy>配置的.war文件;
· 通过<dependency>加入的文件
是否很眼熟?没错!想当年在本地调试web的时候,改一个java文件,总会骂骂咧咧的停掉resin然后重启,甚是麻烦,会抱怨为啥class这么矫情,不能像改个jsp那样立竿见影的看到效果。resin说哥你想法是好的,但就算我有那个热加载的意愿,它jvm也不干那,你去找sun(oracle就不提了)理论去吧。那只好忍了吧,但是要等多久才会自动加载一次呢?<dependency-check-interval>终于出场了。该标签定义了resin多久检测一次上面的那些资源是否变更。这个值是需要加单位的,具体的值定义可以参考Period定义。默认值为2s。
对于取值,resin.conf有这样的一段注释:
For production sites, change dependency-check-interval to something