I'm having an issue where my JMS message bridge seems to be stopped and restarted by WLS every thirty seconds.
As far as I can tell, the bridge is actually working correctly, and the WLS Console reports it as "Active, forwarding messages". Both queues at the ends of the bridge are to the best of my knowledge working properly.
The messages which appear in my WLS log every 30 seconds looks like the below. These six rows are repeated every time.
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696279> <BEA-200020> <Bridge "NameOfBridge" is stopped.>
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696279> <BEA-200033> <Bridge "NameOfBridge" is obtaining connections to the two adapters.>
####<2011-sep-20 kl 12:48 CEST> <Info> <Common> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696284> <BEA-000628> <Created "1" resources for pool "eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<2011-sep-20 kl 12:48 CEST> <Info> <Common> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696340> <BEA-000628> <Created "1" resources for pool "eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696340> <BEA-200032> <Bridge "NameOfBridge" is configured to disallow degradation of its quality of service in cases where the configured quality of service is unreachable.>
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696340> <BEA-200030> <Bridge "NameOfBridge" is configured to work in "Exactly-once" mode, and it is actually working in "Exactly-once" mode.>
After looking through the configuration, the only number which seems related is "Transaction Timeout" which is set to 30
. That would mean that the bridge opens a transaction directly, then fails (either because I've configured something wrong, or simply because nothing happens), then closes the transaction/bridge and restarts it. I wouldn't expect that behavior, but perhaps that is how it works?
I'm using WLS 10.3.0.0.
Update: Relevant configuration from config.xml
:
<messaging-bridge>
<name>NameOfBridge</name>
<target>servercluster</target>
<source-destination>NameOfBridgeLocalDest</source-destination>
<target-destination>NameOfBridgeRemoteDest</target-destination>
<selector></selector>
<quality-of-service>Exactly-once</quality-of-service>
<started>true</started>
</messaging-bridge>
<jms-bridge-destination>
<name>NameOfBridgeLocalDest</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<classpath></classpath>
<connection-factory-jndi-name>JmsXA</connection-factory-jndi-name>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-url></connection-url>
<destination-jndi-name>queue/NameOfQueue</destination-jndi-name>
<destination-type>Queue</destination-type>
</jms-bridge-destination>
<jms-bridge-destination>
<name>NameOfBridgeRemoteDest</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<classpath></classpath>
<connection-factory-jndi-name>ConnectionFactory</connection-factory-jndi-name>
<initial-context-factory>org.jnp.interfaces.NamingContextFactory</initial-context-factory>
<connection-url>jnp://server:port</connection-url>
<destination-jndi-name>queue/NameOfQueue</destination-jndi-name>
<destination-type>Queue</destination-type>
</jms-bridge-destination>
MessagingBridge
from config? – JoseK