团队在升级 jboss 4.2,碰到的问题 (公司内部转)
1、升级到jboss 4.2.2后频繁出现OutOfMemoryError 解决方法:在启动的参数中增加: -XX:PermSize=64M -XX:MaxPermSize=256M 原因分析:查阅文档得知是因为jboss会把一些常用的java的package做缓存,而默认的缓存是很小的,所以会经常抛出 OutOfMemoryError。
2、位于JMSSession Thread中的BeanFactory初始化失败 原因分析:跟踪代码后发现commons-logging相关类报出ClassCastException,根据这个分析可能是jboss使用的 commons-logging包版本和项目中使用的commons-logging包版本冲突了。 解决方法:用项目的commons-logging包替换jboss中的commons-logging包。
3、JMS中报出的 ClassNotFound 原因分析:跟踪代码后发现是Jboss的EARClassloader只能加载到ear根目录下的lib,而加载不到war/WEB- INF/classes或lib下的类和资源文件,经菲青指点,应该是可以配置将两个classloader合并的。 解决方法:打开{JBOSS_HOME}\server\default\deploy\jboss-web.deployer\META-INF下的 jboss-service.xml,将false修改为true,这样Jboss的EARClassloader就可以加载到war下的类和资源了。
4、 Java15Annotation抛出的NPE 原因分析:查看代码后分析Java15Annotation中使用了apache的bcel,而jboss aop也使用了,猜测是两个包版本的冲突。 解决方法:用项目的bcel的包替换jboss 4.2.2的bcel的包。
5 新版的 jboss-web.deployer 替换了原来的 jbossweb-tomcat55.sar
有关一些配置文件的说明
cp -f $CONF_PATH/jboss-service.xml $SERVER_HOME/conf/jboss-service.xml (jboss启动 需要首先启动 jboss mbean service 包括 线程池 log4j服务 jndi jaas jta jmx URLDeploymentScanner 等 service)
cp -f $CONF_PATH/bindings.xml $SERVER_HOME/conf/bindings.xml (这里指定了jboss一系列绑定的 访问端口)
cp -f $CONF_PATH/login-config.xml $SERVER_HOME/conf/login-config.xml 这里配置了jmx的用户名密码需要的配置文件console-users.properties
cp -f $CONF_PATH/oracle*ds.xml $SERVER_HOME/deploy/. (数据源 )
cp -f $CONF_PATH/tomcat-jboss-service.xml .default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml (这里 修改 默认的 false 为 true)
cp -f $CONF_PATH/tomcat-server.xml .default/deploy/jbossweb-tomcat55.sar/server.xml (定义了 tomcat的 connector 的配置 注意添加 useBodyEncodingForURI="true")
cp -f $CONF_PATH/jmx_console_web.xml $SERVER_HOME/deploy/jmx-console.war/WEB-INF/web.xml (配合 下面的jboss-web.xml 控制jmx web登录安全)
cp -f $CONF_PATH/jmx_console_jboss_web.xml $SERVER_HOME/deploy/jmx-console.war/WEB-INF/jboss-web.xml (控制台 的登录安全 , 去掉了注释 security-domain)
cp -f $CONF_PATH/web_console_web.xml $SERVER_HOME/deploy/management/console-mgr.sar/web-console.war/WEB-INF/web.xml (配合 下面的 jboss-web.xml 使得登录控制台需要登录)
cp -f $CONF_PATH/web_console_jboss_web.xml $SERVER_HOME/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml (去掉注释了 security-domain)
cp -f $CONF_PATH/console-users.properties $SERVER_HOME/conf/props/. (访问jboss jmx 的用户名和密码)
apache+jboss的部署环境,出现 多个用户访问的时候, 就会导致页面首页都不能访问,挂在那里,后台也没有错误日志,重启apache 后 又可以访问,但一旦多个用户访问 又导致 前面的现象,仍然必须重启apache。后来发现 这个后台的apache版本是2.0的 而其他的 前台 都是 2.2的 ,我们升级为2.2后 ,就没有这个问题了 (应该是mod_jk的版本升级)!
jboss启动脚本要加 -b 0.0.0.0 后才可以让外部IP访问
JBoss4.2.x与jBoss4.0.x在整体架构上没有很大变化,只是在某些组件上做了升级以及bug修复。
主要修改点有:
1. JBoss4.2必须需要安装jdk5
2. JBoss Ejb3默认被安装
3. JBoss的web容器使用JBoss Web v2.x (集成tomcat6)
4. deploy/jboss-web.deployer 目录替换了原先的deploy/jbossweb-tomcat55.sar
5. JBoss Transactions v4.2为默认的事务管理器
6. JBoss WS提供web service功能
7. JGroups/JBossCache支持 channel multiplexing
8. JBoss Remoting更新到stable 2.2.x,JBossMQ(JBoss4.0使用)为默认JMS实现,但是可以使用JBoss Messaging替换。
9. EJB调用方式 由 rmi-invoker替换为JBoss Remoting 的 unified-invoker
10. log4j 和 commons-logging 升级到新版本
发表评论
- 浏览: 71087 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
挑了几个比较好用的eclips ...
yexin218 写道哦 好像支持建模了。。。看看 不过体积真的变大好多了 感觉 ...
-- by tibetjungle -
java并发编程实践笔记
9, 每个共享变量,都应该由一个唯一确定的锁保护. 创建与变量相同数目的Reen ...
-- by insiku -
挑了几个比较好用的eclips ...
额 这么美!!!支持MYeclipse吗? ...
-- by forlove321 -
挑了几个比较好用的eclips ...
mmd,升级后后悔了,eclipse3.4现在比netbeans还吃内存!!
-- by diggywang -
多核线程笔记-java内存模 ...
ab在主存中,并且线程工作内存中也有副本,c在线程工作内存
-- by jncz






评论排行榜