1、日志配置
从下面网站获得的资料
简单就是说jboss的server.log一堆的日志输出很容易屏蔽
比如说打印了一堆[javax.enterprise.resource.webcontainer.jsf]的debug日志,你可以直接在jboss-log4.xml里加上
就能屏蔽掉了
同理屏蔽其他日志
比如
这样所有org.jboss打头的日志都没了,我今天才知道这样屏蔽jboss日志的orz。
2、一台机器运行多个JBoss多实例
重命名jboss里server下的default文件夹为自己项目名
比如重命名为node2
修改node2/conf/jboss-service.xml
- <mbean code="org.jboss.services.binding.ServiceBindingManager"
-
name="jboss.system:service=ServiceBindingManager">
-
<attribute name="ServerName">ports-01</attribute>
-
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
-
<attribute name="StoreFactoryClassName">
-
org.jboss.services.binding.XMLServicesStoreFactory
-
</attribute>
-
</mbean>
把上面注释放开
posrt-01就是新的端口组
端口组定义在%JBOSS_HOME%\docs\examples\binding-manager\sample-bindings.xml文件内
默认default下这个配置是没放开的
启动多个实例用如下命令
./run.sh -c node1
./run.sh -c node2
之类
停止则对应端口停止
./shutdown -S -s 127.0.0.1:1099
./shutdown -S -s 127.0.0.1:1199
jboss4.23的sample-bindings.xml中ports-03端口定义不全
上传个自己补全的sample-bindings.xml,还加了ports-04
3、jboss特殊配置
原来跑个jboss项目用新的jboss启动不了报错,对比了半天配置文件发现
deploy/jboss-web.deployer/META-INF/jboss-service.xml文件中的一个配置UseJBossWebLoader
默认是false,修改为true
这个选项是
该配置表明是否使用Jboss自身的classloader来加载webApp相关的资源;因为Jboss是通过集成Tomcat来实现Web Container的,而两者都有自己独立的classloader;
若设置为true,则表示Web应用加载时都将使用Jboss统一的classloader,即此时采用共享的扁平的UnifiedClassLoader;
若设置为false,则表示Web应用采用自己独立的WebAppClassLoader进行加载,此时Web应用和Jboss之间是完全隔离的,这也是该配置项的默认值;
另外一篇文章比较好理解
反正就是配置jboss从全局路径加载jar包还是只从自己路径下加载
当配置为true后,在一个jboss下丢多个war包进去发现有报错的情况
这种一般是有jar包同名但是功能不同,但是jboss加载其中一个以后,同名的就不加载了(不记得是覆盖还是不加载了),因为UseJBossWebLoader是共享jar包的,由于包冲突所以一个jboss就只能跑其中一个应用了,所以有了上面的一台机器运行多个jboss实例。
原则上应该设置为false然后把必要的jar包都丢到自己项目的lib里
阅读(1521) | 评论(0) | 转发(0) |