1 Reply Latest reply on Jul 8, 2003 5:58 AM by adrian.brock

    MDB deploy problem - loader constraint violation - javax/jms

    ransack

      Hi,
      I've created an MDB to connect to a JBoss MQ and transfer messages to an Oracle AQ based MQ. Using Jboss 2.4.4, it worked fine.

      We are now swtiching to JBoss 3.0.4 (to be compatable with another application), and I can't get the MDB to deploy properly.

      It generates the following error:
      15:48:09,815 ERROR [URLDeploymentScanner] Failed to deploy: org.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL@7b1
      cf08e{ url=file:/D:/jboss-3.0.4_tomcat-4.1.12/server/W3G/deploy/Exporter.ear, deployedLastModified=0 }
      org.jboss.deployment.DeploymentException: Could not create deployment: file:/D:/jboss-3.0.4_tomcat-4.1.12/server/W3G/tmp/depl
      oy/server/W3G/deploy/Exporter.ear/109.Exporter.ear-contents/Exporter-ejb.jar; - nested throwable: (java.lang.LinkageError: lo
      ader constraints violated when linking javax/jms/XATopicSession class)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:827)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:799)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:621)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:585)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy4.deploy(Unknown Source)
      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:435)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:656)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:507)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:212)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:225)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:202)

      Here is my jboss.xml:
      <?xml version="1.0"?>
      <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd">

      <enterprise-beans>
      <message-driven>
      <ejb-name>ExportInterfaceDurableMDB</ejb-name>
      <configuration-name>MySingletonConfig</configuration-name>
      <destination-jndi-name>topic/W3GExport</destination-jndi-name>
      <mdb-user>Auser</mdb-user>
      <mdb-passwd>ThePassword</mdb-passwd>
      <mdb-subscription-id>DurableExportSubscriber</mdb-subscription-id>
      </message-driven>
      </enterprise-beans>


      and here is the ejb-jar.xml:
      <ejb-jar>
      <enterprise-beans>
      <message-driven>
      <ejb-name>ExportInterfaceDurableMDB</ejb-name>
      <ejb-class>com.client.interface_util.ExportSubscriber</ejb-class>
      <transaction-type>Container</transaction-type>
      <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
      <message-driven-destination>
      <destination-type>javax.jms.Topic</destination-type>
      <subscription-durability>Durable</subscription-durability>
      </message-driven-destination>
      </message-driven>
      </enterprise-beans>

      <!-- Assembly Descriptor -->
      <assembly-descriptor>
      <container-transaction>

      <ejb-name>ExportInterfaceDurableMDB</ejb-name>
      <method-name>*</method-name>

      <trans-attribute>Required</trans-attribute>
      </container-transaction>
      </assembly-descriptor>

      </ejb-jar>

      Any ideas what could be wrong??