关于resin自动重启的若干问题

  最近公司上线的项目,老是不稳定,程序bug N次了,问题还是一大堆,数据库优化,程序检查,关于WEB(resin3.0.18)服务器的日志,发现怎么老是几分钟重新启动一次,郁闷,奇怪来的,难道是resin因为内存低于配置文件的1M而触发?top一下服务器,晕,服务器非常空闲,什么原因?检查来检查去,无意中发现因为不稳定的问题,做了负载均衡,原来那台机器不用跑这个项目了,那些自动上传过滤字符的class不传了,奇怪,一停这台服务器就一切稳定,莫非跟上传class有关?去google一下,写下了下文,google 真是好东西,帮了不上忙,感谢google,希望年后搬家后写个中国的开源社区,大家多去讨论一下,看看人家国外,开源的太多了,我们落伍了........,好了,回到刚才的问题上,如下:

  用resin做服务器,每次更新class文件后,resin就会自动重启webapp来加载新的类,速度就很慢,而且session也会丢失,很不爽。

去网上baidu,google了很多,也没有什么办法。自己试了试几个版本终于搞定了。

方法是:

用resin3.0.22的版本(resin3.0.8+jdk1.4好像不行),jdk用1.5版。并用httpd -Xdebug启动resin服务器。

这样启动的时候就不会报:In Place class reloading during development requires a compatible JDK and -Xdebug.错误了,然后eclipse保存一下java文件,然后resin就可以动态加载刚生成的class文件了,很爽啊,呵呵。

resin3.08 +jdk1.4也不会报In Place class reloading during development requires a compatible JDK and -Xdebug的错,但是resin还是自动重启webapp来达到加载新的class的目的。好像resin3.0.21以上版本才支持。

总结一下:要想让resin能够动态加载class,要三个条件,1.高版本的resin  2.与之相匹配的jdk 3.以-Xdebug方式启动

你可能感兴趣的:(eclipse,jdk,Web,Google)