需要遵循6个步骤来支持MQ 7功能

时间:2012-02-17 07:20:13

标签: java websphere

我在WAS6中部署了EAR模块时遇到问题。

支持我的应用程序中的MQ 7功能。我按照以下步骤操作:

  1. 将类加载器策略设为PARENT_LAST。
  2. 将所有与MQ 7相关的jar放在EAR的根目录中。
  3. EAR包含Web模块。当我尝试启动应用程序时,我遇到以下异常:

      

    javax.servlet.jsp.JspException:无法从上下文获取定义工厂。           at org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:575)           在org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:474)           在org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:436)           at com.ibm._jsp._home._jspx_meth_tiles_insert_0(_home.java:106)           在com.ibm._jsp._home._jspService(_home.java:81)

    战争包含以下罐子。

    xstream-1.3.1.jar,xercesImpl.jar,xalan.jar,struts.jar,standard.jar,commons-validator.jar,commons-net-1.4.0.jar,commons-fileupload.jar,commons -digester.jar,commons-collections.jar,commons-beanutils.jar,resolver.jar,jstl.jar,jfreechart-1.0.2.jar,jcommon-1.0.5.jar,jaxen-full.jar,jakarta-oro的.jar。

    EAR包含以下Jars, com.ibm.mqjms.jar,com.ibm.mq.jmqi.jar,com.ibm.mq.jar,com.ibm.mq.headers.jar,com.ibm.mq.commonservices.jar,log4j.jar, dhbcore.jar。

    我使用log4j.jar在WAR的Manifest文件中设置了class-path属性

    请有人建议我Websphere的类加载策略如何适用于我出错的地方。

    KARTHIK

1 个答案:

答案 0 :(得分:0)

前段时间我做了类似的事情。我想使用已在WebSphere Application Server中使用的特定版本的库。这就是为什么必须将库放在EAR文件中并将应用程序服务器设置为PARENT_LAST类加载器顺序的原因。

如果我错了,请纠正我,但您还必须在WAR文件的Manifest中指定自定义MQ客户端库。你刚才提到了Log4J。应该看起来像这样:

Class-Path: com.ibm.mqjms.jar com.ibm.mq.jmqi.jar [...] log4j.jar

无论如何,如果您登录 Integrated Solutions Console (又名管理控制台)并检查疑难解答部分。有一个类加载器查看器。只需在树中单击自己,然后检查提到的库路径以及您期望的路径。

最后,正如Dylan在他的评论中已经提到的那样:WebSphere Application Server版本6.1在2012年9月30日失去支持。:))