2009-11-03 6 views
0

예제 ejb-jar.xml 및 jboss.xml 파일을 복사하여 붙여 넣었습니다. http://docs.jboss.org/jbossas/jboss4guide/r4/html/ch6.chapt.html#ch6.mdbejbjar.ex에서 받고 있습니다. 보스가 배포하려고 다음과 같은 오류 : 또한Message Driven Bean에 대한 ejb-jar.xml의 JBoss 오류 TextMDB : 예상 한 res-ref-name 태그

ERROR [ScannerThread] deployment.MainDeployer (MainDeployer.java:943) - Could not create deployment: file:/...-ejb2.jar 
org.jboss.deployment.DeploymentException: Error in ejb-jar.xml for Message Driven Bean TextMDB: expected one res-ref-name tag 
    at org.jboss.metadata.ApplicationMetaData.importEjbJarXml(ApplicationMetaData.java:403) 
    at org.jboss.metadata.XmlFileLoader.load(XmlFileLoader.java:151) 
    at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:506) 

, 나는 그것이 DTD는의에 내가 사용하고 샘플의 ejb-jar.xml 파일이 일치하지 않습니다 이클립스에서 나타났습니다. 거기에서 볼 수있는 더 나은 샘플 ejb2 mdb가 있습니까?

답변

1

배포 설명자를 수정하지 않는 이유는 무엇입니까? 이 ejb-jar.xml을 시도해보십시오

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE ejb-jar PUBLIC 
      "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" 
      "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> 
<ejb-jar> 
    <enterprise-beans> 
     <message-driven> 
      <ejb-name>TextMDB</ejb-name> 
      <ejb-class>org.jboss.chap6.ex2.TextMDB</ejb-class> 
      <transaction-type>Container</transaction-type> 
      <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode> 
      <message-driven-destination> 
       <destination-type>javax.jms.Queue</destination-type> 
      </message-driven-destination> 
      <resource-ref> 
       <res-ref-name>jms/QCF</res-ref-name> 
       <res-type>javax.jms.QueueConnectionFactory</res-type> 
       <res-auth>Container</res-auth> 
      </resource-ref> 
     </message-driven> 
    </enterprise-beans> 
</ejb-jar> 
1

그냥 버그가있는 다른 예를. dtd를 준수하도록 변경하면 문제가 해결됩니다.

에서 :

 <res-ref-name>jms/QCF</res-ref-name> 
     <resource-ref> 
      <res-type>javax.jms.QueueConnectionFactory</res-type> 
      <res-auth>Container</res-auth> 
     </resource-ref> 

사람 :

 <resource-ref> 
      <res-ref-name>jms/QCF</res-ref-name> 
      <res-type>javax.jms.QueueConnectionFactory</res-type> 
      <res-auth>Container</res-auth> 
     </resource-ref>