`
ygxdha
  • 浏览: 5898 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

项目一期结束后的思考。怎么样改善tomcat的工作环境

阅读更多
项目一期已经完成。在最后的测试,bug修改,回归阶段,eclipse3.3 + wtp + tomcat5.5+jdk1.5给整个项目组带来了巨大的无力感。问题出在hot deploy上,在上面所述的环境下,任何java源代码的更改都会导致wtp的重启,session的失效,之前的页面操作需要重兴做一遍才能回到需要测试的页面。如果java web项目能做到ruby那样的hot deploy该多好啊。可惜项目2期依然是java的环境,看来只有自己想办法改善了。查了下网上的资料,大概有如下几条路可以走。

1:改用Tomcat 的嵌入式版本。
优点:启动速度更快,wtp上publish阶段所需要的copy 文件的时间可以节约下来。

疑问:Tomcat 的嵌入式版本是否支持hot deploy。感觉需要tomcat支持hot deploy 需要修改tomcat的classloader机制。

2:修改tomcat的classloader机制。在classloader的分层里面,tomcat的 classloader属于app 级别的classloader。可以通过修改tomcat的源代码来解决java类修改不需要重启tomcat的功能。

疑问:网上该方法的资料很少,javaeye上也只看到大家讨论过修改web中的配置文件,不需要重启tomcat的讨论,一切不确定因素太多了,项目等不得。

3:改用classfish v2来替代tomcat。
测试过一下。虽然不需要重启,不过build的时间依然不短,而且session还是失效了。效果没有现象中的理想。

4:wtp插件的问题。
将wtp插件改成使用sysdeo 的tomcatplugin插件。tomcatplugin插件如果发现有java文件修改,如果该文件的修改是tomcat 的classloader不支持hotdeploy,会给你提示。让你选择是否重启,这个比wtp已经人性化一点了。不过还是不能实现hotdeploy。

5:使用 javarebel

看javarebel的官网,上面提到的hotswap功能的确让人心动。不过是收费的,而且相关的使用经验和资料太少,风险比较大。


应该选择哪种方法解决问题,希望有经验的大大给点经验。
分享到:
评论
9 楼 wplqw 2007-12-08  
参照mmwy的图例,tomcat 6确实可以热部署了,而且会话也没丢.
8 楼 mmwy 2007-12-08  
直接改配置文件的方法

7 楼 mmwy 2007-12-08  
4、
6 楼 mmwy 2007-12-08  
图形界面模式解决问题步骤

1、

2、

3、

5 楼 joyfun 2007-12-07  
JDK的问题 我在jdk6下 tomcat都不要重启
在jdk1.4下就不行了
4 楼 wplqw 2007-12-07  
引用
改成jboss后,任何java的修改一样会导致jboss的重启,看来是wtp的问题。


我今天尝试了一下,写了一些打印语句,而且是在登陆后进行的修改
修改得了,也没见什么redeploy啊,而且点击页面上其他需要会话
验证的页面,可以正常使用,另外要设置服务器为debug模式,否则
修改不起作用,就是那个debug on server.


然后我换成用tomcat6部署同样的项目,结果出现了你顶贴描述的现
象,即一修改java代码就重新部署(console有明显提示),且会话失效.

我的环境是:eclipse-jee-europa-win32+j2sdk1.5.0_13+jboss-4.0.5.GA

还装了个插件JBossTools-2.0.0.CR1,不过我是在WTP Java EE面板上操作的.
3 楼 qrtt1 2007-12-07  
		StandardContext context = (StandardContext) this.embedded
				.createContext(contextPath, absolutePath);
		context.setReloadable(reloadable);


tomcat 可以設 reloadable
2 楼 ygxdha 2007-12-07  
改成jboss后,任何java的修改一样会导致jboss的重启,看来是wtp的问题。
1 楼 wplqw 2007-12-07  
奇怪了,我使用得也是3.3,修改java代码并没有引起重启啊,而且会话也没丢.我使用的是eclipse-jee-europa-win32
================
不好意思,看错了,我用的是jboss4.2 ga

相关推荐

Global site tag (gtag.js) - Google Analytics