0 Replies Latest reply on Mar 21, 2009 12:59 AM by Tony Mai

    HowDoIConfigureAnMDBToTalkToARemoteQueue

    Tony Mai Apprentice

      I am trying to port my application from JBoss 4.2.1 to 5.0.Beta1. I am running into a problem with configuration for an MDB to access a remote queue.

      I had my MDB configured in JBoss 4.2.1 using the example from a great blog on JBoss' wiki HowDoIConfigureAnMDBToTalkToARemoteQueue (http://www.jboss.org/community/docs/DOC-9893)

      However, this configuration seems to fail under JBoss 5.0. Can someone shed a light? I would greatly appreciate some help..

      Here are the configurations:
      /* 1. MDB */

      @MessageDriven(activationConfig = {
       @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Topic")
       , @ActivationConfigProperty(propertyName="destination", propertyValue=Configuration.BANKDESK_CHANNEL_JNDI_NAME)
       , @ActivationConfigProperty(propertyName = "providerAdapterJNDI", propertyValue="java:/IBS_JMSProvider")
      // , @ActivationConfigProperty(propertyName="DLQMaxResent", propertyValue="10")
       })
      @Name("bankTxListener") // Seam's component name
      public class BankTransactionsListener implements javax.jms.MessageListener, Serializable {
      ...
      }
      


      /* 2. dest-service-ds.xml */
      <server>
       <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
       name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=SF-CORP-QA-03">
       <attribute name="ProviderName">IBS_JMSProvider</attribute>
       <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
      
       <attribute name="FactoryRef">XAConnectionFactory</attribute>
       <!-- The queue connection factory -->
       <attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
       <!-- The topic factory -->
       <attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
      
       <!-- Connect to JNDI on the host "queuehost" port 1099 -->
       <attribute name="Properties">
       java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
       java.naming.factory.url.pkgs=org.jnp.interfaces
       java.naming.provider.url=localhost:1099
       </attribute>
       </mbean>
      </server>
      


      /* 3. jboss.xml */
      <jboss xmlns="http://www.jboss.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
       version="3.0">
       <invoker-proxy-bindings>
       <invoker-proxy-binding>
       <name>IBS_JMS_MDB_Invoker</name>
       <invoker-mbean>does-not-matter</invoker-mbean>
       <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
       <proxy-factory-config>
       <JMSProviderAdapterJNDI>IBS_JMSProvider</JMSProviderAdapterJNDI>
       <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
       <MinimumSize>1</MinimumSize>
       <MaximumSize>15</MaximumSize>
       <KeepAliveMillis>30000</KeepAliveMillis>
       <MaxMessages>1</MaxMessages>
       <MDBConfig>
       <ReconnectIntervalSec>10</ReconnectIntervalSec>
       <DLQConfig>
       <DestinationQueue>queue/DLQ</DestinationQueue>
       <MaxTimesRedelivered>10</MaxTimesRedelivered>
       <TimeToLive>0</TimeToLive>
       </DLQConfig>
       </MDBConfig>
       </proxy-factory-config>
       </invoker-proxy-binding>
       </invoker-proxy-bindings>
      </jboss>
      


      Again, your help is greatly appreciated. Thanks
      -tony