2 Replies Latest reply: Apr 29, 2012 5:15 AM by buhe bu RSS

How to setup Jboss 7.1 such that a MDB can communicate with a JBoss 4.2.3 JMS instance?

steve mebius Newbie

I have a JBoss 4.2.3 MDB which is talking to a JBoss 4.2.3 JMS instance.

 

Now I want to migrate the MDB to JBoss 7.1.1 but keep talking to the same JBoss 4.2.3 JMS instance (as phrase 1).

 

I think I need to add some setup in standalone.xml but I don't know exactly what to add, or where, or how.

 

The anontation of my MDB code looks like this:

 

======

@MessageDriven(activationConfig = {

        @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "auto-acknowledge"),

        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),

        @ActivationConfigProperty(propertyName = "destination", propertyValue = "/topic/broadcast"),

        @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "channel='general'"),

        @ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),

        @ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "xyz-broadcast"),

        @ActivationConfigProperty(propertyName = "clientId", propertyValue = "listener-xyz"),

        @ActivationConfigProperty(propertyName = "providerAdapterJNDI", propertyValue = "java:/RemoteJMSProvider") })

// We are using Spring transaction management so disable CMT

@TransactionManagement(TransactionManagementType.BEAN)

=====

 

My Jboss 4.2.3 setup (default/deploy/jms/jms-ds.xml) for JMS looks like this:

 

======

...

<mbean code="org.jboss.jms.jndi.JMSProviderLoader"

      name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=remotehost">

    <attribute name="ProviderName">RemoteJMSProvider</attribute>

    <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>

    <!-- The connection factory -->

    <attribute name="FactoryRef">UIL2XAConnectionFactory</attribute>

    <!-- The queue connection factory -->

    <attribute name="QueueFactoryRef">UIL2XAConnectionFactory</attribute>

    <!-- The topic factory -->

    <attribute name="TopicFactoryRef">UIL2XAConnectionFactory</attribute>

    <!-- Connect to JNDI on the host "the-remote-host-name" 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=hostxyz:1099

    </attribute>

  </mbean>

=========

 

I think I can reuse the existing jbossall-client.jar to provide me all the needed classes for accessing JNP protocol.

 

I think all I need is the right configuration in Jboss 7.1.1 to complete the task.

 

Could someone help, please?

 

Thanks,

 

Steve Mebius