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