2014-08-31 34 views
0

我已经将MDB配置添加到ejb-jar.xml和ibm-ejb-jar-bnd.xmi文件,然后重新启动失败,并抛出下面的错误,如果我恢复我的更改它开始工作正常。在向ejb-jar xml添加MDB配置后,Webpshere服务器没有开始启动

错误消息:导致:java.lang.IllegalStateException:父转换器(EnterpriseBeansTranslator(实体|会话|消息驱动,841888302))未找到“消息驱动目标”的子转换器。

请你帮我理解问题的根源。下面是MDB配置added.Please帮助我,如果问题是由于XSD?

<ejb-jar id="ejb-jar_1" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"> 

<enterprise-beans> <message-driven id="MessageDriven_TestJMSMDBL"> <description>Message Driven Bean for JMS Listener TestJMSMDBL</description> <ejb-name>TestJMSMDBL</ejb-name> <ejb-class>com.pega.pegarules.internal.etier.mdb.PRJMSListenerBoot</ejb-class> <transaction-type>Container</transaction-type> <message-driven-destination id="MessageDrivenDestination_TestJMSMDBL"> <destination-type>javax.jms.Queue</destination-type> </message-driven-destination> <env-entry> <env-entry-name>PRListener</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>TestJMSMDBL</env-entry-value> </env-entry> <env-entry> <env-entry-name>UseCMT</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>true</env-entry-value> </env-entry> <ejb-local-ref id="EJBLocalRef_TestJMSMDBL_EngineBMTLocal"> <description/> <ejb-ref-name>ejb/EngineBMTLocal</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <local-home>com.pega.pegarules.internal.etier.interfaces.EngineLocalHome</local-home> <local>com.pega.pegarules.internal.etier.interfaces.EngineLocal</local> <ejb-link>EngineBMT</ejb-link> </ejb-local-ref> <ejb-local-ref id="EJBLocalRef_TestJMSMDBL_EngineCMTLocal"> <description/> <ejb-ref-name>ejb/EngineCMTLocal</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <local-home>com.pega.pegarules.internal.etier.interfaces.EngineLocalHome</local-home> <local>com.pega.pegarules.internal.etier.interfaces.EngineLocal</local> <ejb-link>EngineCMT</ejb-link> </ejb-local-ref> </message-driven> </enterprise-beans>

回答

0

你的MDB的定义是不正确的。你应该有像下面这样的东西。它应该是<message-destination-type>而不是<message-driven-destination>

<message-driven id="MyMDB"> 
    <ejb-name>MyMDB</ejb-name> 
    <ejb-class>ejbs.MyMDBBean</ejb-class> 
    <messaging-type>javax.jms.MessageListener</messaging-type> 
    <transaction-type>Container</transaction-type> 
    <message-destination-type>javax.jms.Queue</message-destination-type> 
</message-driven> 

这是示例绑定文件。但是您可以删除从文件驱动的消息的绑定,然后使用控制台进行安装。您将能够在那里定义映射。之后,您可以从控制台导出应用程序,然后您可以从那里提取正确的绑定文件。

<?xml version="1.0" encoding="UTF-8"?> 
<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejb="ejb.xmi" xmlns:ejbbnd="ejbbnd.xmi" xmi:id="EJBJarBinding_1409479703640"> 
    <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/> 
    <ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding" xmi:id="MessageDrivenBeanBinding_1409479703640" activationSpecJndiName="myActiveSpec" destinationJndiName="eis/as1"> 
    <enterpriseBean xmi:type="ejb:MessageDriven" href="META-INF/ejb-jar.xml#MyMDB"/> 
    </ejbBindings> 
</ejbbnd:EJBJarBinding> 
+0

我改变了MDB的细节如下,并抛出一个新的异常。原因:org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException:IWAE0007E无法在存档“prbeans.jar”中加载资源“META-INF/ibm-ejb-jar-bnd.xmi” – 2014-09-04 02:51:14

相关问题