请教关于jboss eap 6.x部署的问题

coder_lee_1984 2015-01-21 11:09:03
最近项目要迁移到jboss eap6这样的web服务器上,由于以前没用过,在部署的过程中遇到各种问题,虽然使用自己的方法解决了一部分,但是感觉并不是很规范,而且还有其他的问题找不到。想请教大家一下:
首先想问下,
1. jboss eap6和jboss as 7除了一个是开原版,一个是商业版之外,在使用时是否有其他区别?
2.另外就是jboss eap下集成了好多的包,以模块的形式出现,比如rest请求的jax-rs包,日志包等等。如果我要使用jboss自带的这些包,我自己的项目改做哪些调整,是否要删除掉相应的jar文件?
3.我目前的项目使用log4j做日志记录,但是部署在jboss eap下后,log4j完全不起作用。我程序里打印的几条日志信息完全没输出。貌似jboss使用了它自带的日志包,我不想用自带的。如果我还想用项目里的log4j来记录日志需要做哪些修改呢?我参照了网上的相关说明,在项目的META-INF目录下加了 jboss-deployment-structure.xml文件,其中内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.apache.log4j"/>
</exclusions>
</deployment>
</jboss-deployment-structure>

但是配置完了不好用,能想的办法都想了。但是不知道怎么配置了。求各位指点一下。
...全文
3362 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yysx 2016-03-03
  • 打赏
  • 举报
回复
麻烦楼主详细说下如果用jboss自带的包,你本身项目中原来是怎么引包的,或者用的什么工具
coder_lee_1984 2015-01-21
  • 打赏
  • 举报
回复
我已经解决了jboss eap不加载log4j的问题,在此发一下,给需要的朋友. 官网给的解决方案是首先加一个jboss-deployment-structure.xml文件 内容如下:

<jboss-deployment-structure>
​    <deployment>
​        <!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
​        <exclusions>
​            <module name="org.apache.log4j" />
​        </exclusions>
​        <resources>
​            <resource-root path="lib" />
​        </resources>
​    </deployment>
​</jboss-deployment-structure>
代码解释:<exclusions>标签是排除jboss自带的日志模块.<resources>标签是指定你自己的第三方包的位置.lib就是你war包WEB-INF下的lib目录,用来存放jar包的地方. 然后将该文件放入war包的META-INF目录或者WEB-INF目录下.如果你打包的格式为EAR包,则只能放在META-INF目录下. 最后在启动jboss eap的时候加入启动参数: ./standalone.sh -Dorg.jboss.as.logging.per-deployment=false即可解决. 以上是官方的方案,但是我的情况有点不同,加配置文件对我的项目无效.相反,我只要执行最后一步,在启动时,给启动的脚本加-Dorg.jboss.as.logging.per-deployment=false参数就可以让log4j生效了.不用做其他配置. 之后我查看了standalone.sh脚本,其中有一段脚本是读取日志配置的.也就是说启动脚本默认会加载jboss自带的日志模块. 所以需要在启动时利用参数屏蔽掉.其他的和tomcat下的配置一样的.无需做其他修改.

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧