我正在使用带有集成测试环境的Rational Application Developer v7.0。当我调试我的Web应用程序时,调试模式下的服务器启动时间接近5-6分钟-足够时间来喝杯咖啡!
有时,这让我感到恼火,以至于我开始咒骂IBM构建操作系统而不是应用程序服务器!生成20多个进程和无用的服务,而没有记录的配置来对其进行调整,以使其启动更快。
我确信那里有很多Java开发人员会同意我的观点。我试图通过管理控制台禁用默认应用程序和一组服务,但是并没有太大帮助。
我没有Web服务,没有企业bean,没有队列,只是一个需要连接池的简单Web应用程序。您过去是否做过一些事情来使您的集成测试环境,在调试模式下快速启动并减少内存消耗?
更新:我尝试禁用一些服务(国际化,默认应用程序等),现在WebSphere服务器变得越来越糟。它不仅耗费了可怕的启动时间,而且还时不时地冻结长达2分钟。:-(听起来,优化并非总是一件好事!
调试服务器代码的最佳方法是使用远程调试。
首先,您需要在服务器启动脚本的JVM参数中添加以下内容:
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
这将导致JVM在指定的端口上进行侦听,然后您可以从IDE中针对该端口启动远程调试会话,并进行调试,就像代码在同一进程中运行一样。
以这种方式工作可以避免您如此频繁地重新启动服务器,从而避免了Websphere启动时间的问题。
如果服务器上的二进制文件和IDE中的源代码不同步,您可能会得到一些奇怪的结果,但是总的来说这不是问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句