我们从JBoss 4(和JDK 5)升级到JBoss 5(和JDK 6)。问题是开始时间已经从1.5分钟(在JBoss 4上)增加到4分钟以上。
18:53:35,444 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 3m:9s:262ms
似乎花费JBoss最长时间来初始化的组件是JMX
18:50:41,926 INFO [LogNotificationListener] Adding notification listener for logging mbean "jboss.system:service=Logging,type=Log4jService" to server org.jboss.mx.server.MBeanServerImpl@1adc122[ defaultDomain='jboss' ] 18:52:38,797 INFO [JMXConnectorServerService] JMX Connector server: service:jmx:rmi://lharel2/jndi/rmi://lharel2:1090/jmxconnector
从调试服务器日志中,我在有问题的时间得到以下行:
2009-12-18 18:51:00,886 DEBUG [org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (main) vfsfile:/C:/QC/Views/QCDev/jboss-5.1.0.GA/server/default/deploy/jmx-console.war/ endpoint mappings: 2009-12-18 18:51:00,886 DEBUG [org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (main) Processing unit=jmx-console.war, structure: jmx-console.war 2009-12-18 18:52:35,209 DEBUG [org.jboss.deployment.OptAnnotationMetaDataDeployer] (main) Deployment is metadata-complete, skipping annotation processing, ejbJarMetaData=null, jbossWebMetaData=org.jboss.metadata.web.spec.Web23MetaData@1f, jbossClientMetaData=null, metaDataCompleteIsDefault=false
项目中没有EJB。
内存设置为:
-Xms128m -Xmx512m -XX:MaxPermSize=256m
您是否知道如何改善JBoss的启动时间?
更新: 到目前为止没有运气,我尝试了shreeni的建议(更改了扫描xml)。服务器未在调试模式下运行,因此MicSim的建议不相关
无需更多信息即可射入蓝天
网络超时: 部署jmx-console.war时延迟1.5分钟,可能表示网络超时(例如3 x 30秒)。尝试使用-b命令行参数或jboss.bind.address系统属性启动JBoss并将其绑定到特定的IP地址。另外,请尝试确保系统上的主机和DNS解析设置正确。
-b
jboss.bind.address
JMX也在使用RMI,您可能希望将 RMI服务器主机名设置为系统属性 。在某些Linux发行版上,RMI在查找正确的主机名和jmx-console时遇到问题。war可能会尝试连接到“错误的本地主机”。系统属性是java.rmi.server.hostname
java.rmi.server.hostname
系统跟踪: 如果这样做没有帮助,则可能要使用它strace来启动java进程,以便可以看到系统挂起的点(如果由于网络超时或类似原因而确实挂起)。
strace