[jboss-user] [JBoss Messaging] New message: "Problem with the bridge reconnecting to remote topic."

Andrian Belinschi do-not-reply at jboss.com
Fri Jan 22 12:47:28 EST 2010


User development,

A new message was posted in the thread "Problem with the bridge reconnecting to remote topic.":

http://community.jboss.org/message/521809#521809

Author  : Andrian Belinschi
Profile : http://community.jboss.org/people/abelinschi

Message:
--------------------------------------------------------------
Hello all,
 
I need some helpin understanding what is going on with the message bridge connectedbetween a local queue and a remote topic. The bridge is configured touse durable subscriptions and to absorb messages from the remote topicand send them to the local queue. If the remote JBoss node is 'down'then the bridge suppose to retry to establish a connection. Everything is working as expected. Whathappens is that, sometimes, when the remote JBoss instance is down fora long time then the bridge connects to the local JBoss instanceinstead and creates the subscription on the local topic which iswrong (it should only connect to the specified IP address).
 
Any idea why that happens?
 
Here is my configuration:

Both nodes are running JBoss 5.1.0 GA with JBoss messaging 1.4.6 and JBoss remoting 2.5.2.SP1
Iam running two clusters 'Cluster1' and 'Cluster2'. Each cluster isconfiguring for using 'tcp'. Jboss messaging is using Oracle forpersistence, it is configured to use 'tcp' for both JBM control andJBM data channels, the post office is clustered.

A clustered topic 'DataTopic' deployed to both 'Cluster1' and 'Cluster2'.
A clsutered queue 'DataQueue' deployed to both Cluster1 and Cluster2
 
Each cluster is running 6 JBoss instances. All of the nodes cluster correctly.
 
The Bridge is deployed on Cluster1 as a singleton andshould absorb messages from 'DataTopic' on Cluster2 and send them tothe local 'DataQueue' on Cluster1.
 
 
 
*Here are some of environment variables passed to each JBoss instances*:


-Djboss.messaging.ServerPeerID=${SERVER_PEER_ID}"
-Djboss.partition.name=cfssys -Djboss.messaging.groupname=cluster1
-Djboss.service.binding.set=${PORTS_VAR}"
-Djboss.default.jgroups.stack=tcp 
-Djgroups.tcpping.initial_hosts=10.1.22.110[7600],10.1.22.111[7600],10.1.22.112[7600],10.1.22.113[7600],10.1.22.114[7600],10.1.22.115[7600]"
 
*Here is the bridge file deployed to ' appserver/server/all/deploy-hasingleton/' location:*
 
<?xml version="1.0" encoding="UTF-8"?>
<mbean code="org.jboss.jms.server.bridge.BridgeService" name="jboss.messaging:service=Bridge,name=SyncInBridge" xmbean-dd="xmdesc/Bridge-xmbean.xml">
  <depends optional-attribute-name="SourceProviderLoader">jboss.messaging:service=JMSProviderLoader,name=RemoteCluster2</depends>
  <depends optional-attribute-name="TargetProviderLoader">jboss.messaging:service=JMSProviderLoader,name=JMSProvider</depends>
  <attribute name="SourceDestinationLookup">/topic/DataTopic</attribute>
  <attribute name="TargetDestinationLookup">/queue/DataQueue</attribute>
  <attribute name="SourceUsername">user</attribute>
  <attribute name="SourcePassword">pass</attribute>
  <attribute name="QualityOfServiceMode">2</attribute>
  <attribute name="MaxBatchSize">10</attribute>
  <attribute name="MaxBatchTime">5000</attribute>
  <attribute name="SubName">SubCluster2</attribute>
  <attribute name="ClientID">222</attribute>
  <attribute name="FailureRetryInterval">60000</attribute>
  <attribute name="MaxRetries">-1</attribute>
  <attribute name="AddMessageIDInHeader">false</attribute>
</mbean>
 
 
*Here are my JMS provider definitions (jms-ds.xml):*
 
 <!-- JMS XA Resource adapter, use this to get transacted JMS in beans -->
   <tx-connection-factory>
      <jndi-name>JmsXA</jndi-name>
      <xa-transaction/>
      <rar-name>jms-ra.rar</rar-name>
      <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
      <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
      <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property>
      <max-pool-size>20</max-pool-size>
      <security-domain-and-application>JmsXARealm</security-domain-and-application>
      <depends>jboss.messaging:service=ServerPeer</depends>
   </tx-connection-factory>
 
 
 
   <!-- Remote JMS Provider -->
   <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="jboss.messaging:service=JMSProviderLoader,name=RemoteCluster2">
      <attribute name="ProviderName">RemoteCluster2</attribute>
      <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
      <attribute name="FactoryRef">/XAConnectionFactory</attribute>
      <attribute name="QueueFactoryRef">/XAConnectionFactory</attribute>
      <attribute name="TopicFactoryRef">/XAConnectionFactory</attribute>
      <attribute name="Properties">
       java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
       java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
       java.naming.provider.url=jnp://10.2.22.68:1199
      </attribute>
   </mbean>

 
 
The *'remoting-bisocket-service.xml'* has not been changed and it is the same as the one shipped with JBoss 5.10. GA
 
 


--------------------------------------------------------------

To reply to this message visit the message page: http://community.jboss.org/message/521809#521809




More information about the jboss-user mailing list