Weblogic Message Bridge Producing Duplicate JMS Messages

We have a message bridge that we use to integrate with TIBCO. The message bridge is deployed on a WL cluster. We see duplicate JMS messages produced by the bridge when it is deployed on the cluster. We don't see this behavior when only one ManagedServer in the cluster is active,.
TIBCO version: 4.4.3 V5
WLS: 10.3.3 with patch for bug BUG8732539 (BQC6)
java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Oracle JRockit(R) (build R28.0.0-679-130297-1.6.0_17-20100312-2121-linux-x86_64, compiled mode)
We are also seeing a lot of exceptions related to
<May 27, 2011 4:11:57 PM PDT> <Warning> <Connector> <BEA-190032> << eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "javax.resource.ResourceException: Failed to start the connection ">
However the bridge is active. We are monitoring the message-out count on TIBCO and we observed that we see duplicates whenever there a message is re-delivered. We opened a case with Oracle support and they suggested patch 10258751 which didn't help. The next suggestion was a patch for "Bug 11852771 - [WLS10.3.2]MISSING AND DUPLICATE IN JMS QUEUE MESSAGE MONITORING" but I don't think it will help since our JMS consumers are getting duplicate messages and this is not just a UI issue.
Here is the message behavior when we send a single message:
Timelines
11:34:17 --> Message sent to TIBCO EMS queue
11:34:17 --> WL MS3 throws an javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable exception
11:34:17 --> WL MS1 says it got the message and committed the transaction
11:34:17 --> Message is visible in the JMS queue in the admin console
11:34:17 --> TIBCO EMS has still not received an ACK from WL for the message
11:34:31 --> TIBCO EMS resends the same JMS message to WL
11:34:31 --> WL MS2 says it got the message and committed the transaction
11:34:31 --> WL MS1 throws an javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable exception
11:34:31 --> Message is visible in the JMS queue in the admin console (At this point there are two messages in the JMS queue)
11:34:31 --> TIBCO EMS has still not received an ACK from WL for the message
11:34:54 --> TIBCO EMS resends the same JMS message to WL
11:34:31 --> WL MS4 says it got the message and committed the transaction
11:34:31 --> WL MS2 throws an javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable exception
11:34:31 --> Message is visible in the JMS queue in the admin console (At this point there are three messages in the JMS queue)
11:34:31 --> TIBCO EMS receives an ACK from WL for the message
MS04
####<May 27, 2011 11:34:54 AM PDT> <Debug> <MessagingBridgeRuntime> <> <MS04> <[ACTIVE] ExecuteThread: '109' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-6A59E8FE76C4FC4CA149> <> <1306521294611> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) received message:
JMS Message Class: TextMessage
JMSMessageID: ID:MS01.4B044DDFEE1F1:25354AD
JMSCorrelationID: null
JMSDeliveryMode: PERSISTENT
JMSDestination: Queue[SourceQueue1]
JMSExpiration: 0
JMSPriority: 4
JMSRedelivered: true
JMSReplyTo: null
JMSTimestamp: 1306521256905 (Fri May 27 11:34:16 PDT 2011)
JMSType: null
Transaction Id: BEA1-6A59E8FE76C4FC4CA149
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:54 AM PDT> <Debug> <MessagingBridgeRuntime> <MS04> <MS04> <[ACTIVE] ExecuteThread: '109' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-6A59E8FE76C4FC4CA149> <> <1306521294611> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) successfully sent message:
JMS Message Class: TextMessage
Old JMS MessageID: ID:MS01.4B044DDFEE1F1:25354AD
New JMS MessageID: ID:<193654.1306521294611.0>
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
MS03
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257342> <BEA-000000> <Bridge MessageBridge1 Successfully got connection to the target destination>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1: both source and target adapters support XA = true>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1 supportsMDBTX = false supportsXA = true async = true>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1 WorkMode = Exactly-once>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntimeVerbose> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1 Entering processMessages() ------ >
####<May 27, 2011 11:34:17 AM PDT> <Error> <MessagingBridge> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-3AA29116A4CA622834EA> <> <1306521257343> <BEA-200015> <An error occurred in bridge "MessageBridge1" during the transfer of messages (java.lang.Exception: javax.resource.ResourceException: Failed to setup the Resource Adapter Connection for enlistment in the transaction, Pool = 'eis/jms/WLSConnectionFactoryJNDIXA', javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable
javax.transaction.xa.XAException: Internal error: XAResource 'eis/jms/WLSConnectionFactoryJNDIXA' is unavailable
at weblogic.transaction.internal.XAResourceDescriptor.checkResource(XAResourceDescriptor.java:948)
at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:634)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1227)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:507)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:434)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:117)
at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:200)
at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable
javax.transaction.xa.XAException: Internal error: XAResource 'eis/jms/WLSConnectionFactoryJNDIXA' is unavailable
at weblogic.transaction.internal.XAResourceDescriptor.checkResource(XAResourceDescriptor.java:948)
at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:634)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1227)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:507)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:434)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:117)
at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1185)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:507)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:434)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:117)
... 8 more
).>
####<May 27, 2011 11:34:17 AM PDT> <Warning> <MessagingBridge> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257344> <BEA-200026> <Bridge "MessageBridge1" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was java.lang.Exception: MessagingBridgeException: Messaging bridge operation failed
.)>
MS02
####<May 27, 2011 11:34:31 AM PDT> <Debug> <MessagingBridgeRuntime> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-679AF074F381152F047C> <> <1306521271386> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) received message:
JMS Message Class: TextMessage
JMSMessageID: ID:MS01.4B044DDFEE1F1:25354AD
JMSCorrelationID: null
JMSDeliveryMode: PERSISTENT
JMSDestination: Queue[SourceQueue1]
JMSExpiration: 0
JMSPriority: 4
JMSRedelivered: true
JMSReplyTo: null
JMSTimestamp: 1306521256905 (Fri May 27 11:34:16 PDT 2011)
JMSType: null
Transaction Id: BEA1-679AF074F381152F047C
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:31 AM PDT> <Debug> <MessagingBridgeRuntime> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-679AF074F381152F047C> <> <1306521271392> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) successfully sent message:
JMS Message Class: TextMessage
Old JMS MessageID: ID:MS01.4B044DDFEE1F1:25354AD
New JMS MessageID: ID:<196075.1306521271386.0>
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:54 AM PDT> <Error> <MessagingBridge> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521294610> <BEA-200015> <An error occurred in bridge "MessageBridge1" during the transfer of messages (java.lang.Exception: weblogic.transaction.RollbackException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1871)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:330)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:225)
at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:293)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1534)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1185)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
... 2 more
).>
####<May 27, 2011 11:34:54 AM PDT> <Warning> <MessagingBridge> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521294610> <BEA-200026> <Bridge "MessageBridge1" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was java.lang.Exception: MessagingBridgeException: Messaging bridge operation failed
MS01
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-72BC818FE2BB8C2655C6> <> <1306521257536> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) received message:
JMS Message Class: TextMessage
JMSMessageID: ID:MS01.4B044DDFEE1F1:25354AD
JMSCorrelationID: null
JMSDeliveryMode: PERSISTENT
JMSDestination: Queue[SourceQueue1]
JMSExpiration: 0
JMSPriority: 4
JMSRedelivered: false
JMSReplyTo: null
JMSTimestamp: 1306521256905 (Fri May 27 11:34:16 PDT 2011)
JMSType: null
Transaction Id: BEA1-72BC818FE2BB8C2655C6
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-72BC818FE2BB8C2655C6> <> <1306521257542> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) successfully sent message:
JMS Message Class: TextMessage
Old JMS MessageID: ID:MS01.4B044DDFEE1F1:25354AD
New JMS MessageID: ID:<195581.1306521257536.0>
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:31 AM PDT> <Error> <MessagingBridge> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521271384> <BEA-200015> <An error occurred in bridge "MessageBridge1" during the transfer of messages (java.lang.Exception: weblogic.transaction.RollbackException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1871)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:330)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:224)
at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:293)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1534)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1185)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
... 1 more
).>
####<May 27, 2011 11:34:31 AM PDT> <Warning> <MessagingBridge> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521271384> <BEA-200026> <Bridge "MessageBridge1" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was java.lang.Exception: MessagingBridgeException: Messaging bridge operation failed
.)>

@Tom, thanks for your hints and sorry for my delayed response. Here are my answers to your queries…
-- Does messaging work, without any exceptions, when only one bridge is active?
It works fine when only one node of the cluster is active. -- I'm not familiar with Tibco monitoring, but I suspect that the "message-out count on TIBCO" stat doesn't always imply that there's a duplicate message. It could mean that an initial message delivery attempt failed, it's transaction rolled back, and the message was redelivered. Redelivery after a failure is normal - the original delivered message, if one actually made it onto a WebLogic queue, should be discarded by WebLogic when its failed transaction eventually rolls back (before its ever handed to a consumer application).
You are absolutely right. The mismatch in count was due to redelivery attempts. We could see that as soon as we turned on trace in TIBCO-- The posted stack traces look like they may be JVM stdout/stderr scrapes, which are often automatically truncated, for example, see the "... 8 more" listed at the bottom of one of the stack traces below. There might be more information in the full stack trace for the "Resource manager is unavailable" exception. Full traces are logged in each WebLogic Server's log files.
I tried redirecting the output and even set "stdout Stack Trace Depth:" to -1 but I am not albe to see the complete trace.-- The setTransactionTimeout NullPointerException error message looks like it is collateral damage from the original reported "Resource manager is unavailable" exception that's thrown earlier during the enlistResource() step. If you are truly getting duplicates, then I think this is a clue that the bridge is somehow (stupidly) trying to proceed with forwarding the message despite the fact that there's no current transaction on the thread...

I have a case open with Oracle support and we have extensive debugging turned on. Here is what the engineer came back with. There is an issue with XA transactions in JCA adapter when it talks to third party providers like TIBCO. Since the resource names are not unique across the cluster, a XA transaction is started on multiple nodes in the cluster for the same message. All transactions abort but the message is persisted and TIBCO redelivers the message since the connection is severed when the transaction aborts. We were able to reproduce this scenario at will with our setup and Oracle was able to reproduce the issue too. 
-- Can you check the state of the message on the WebLogic Q? The fact that a message is shown on the WL console doesn't necessarily mean that the state of the message is visible (it could be waiting for the transaction to commit - something that apparently never happens). On the console: Services -> Messaging -> JMS Modules -> [module name] -> [destination name].

Our consumer was getting duplicate messages. This confirms that the console was not giving us incorrect information. The console showed that 2/3/4 messages were in "current" state when we expected only one message.
-- Make sure that the bridge's Tibco destination is a Tibco queue not a Tibco topic (it's happened).

Yeah we made sure it was a Queue.
-- Can you post your bridge and destination stanzas from your config.xml? 

Will try to do this shortly but have to strip out lot of information.
-- I vaguely recall that there was a problem with untyped connection factories in Tibco at one point (not sure). You might want to try changing the Tibco configuration to spin-up "XA Queue Connection Factory" instead of just an "XA Connection Factory" (plus modify the bridge configuration accordingly).

We tried this but it didn't eliminate this issue. One thing we did notice however was that the number of rollbacks were greatly reduced.

Here is the workaround that Oracle is suggesting: Create pinned destinations and assign it to a distributed queue. This will keep the transactions local and hence eliminate the duplicate transactions and rollback. We tried it and it eliminated the dups issue. However I discovered another bug during my testing. Our cluster messaging mode is "Unicast" and message forwarding from zero consumer queues to queues with consumers fails. We have four/five nodes in the cluster and two consumer threads. I observed that the zero consumer queues always forward to one queue in the cluster that has consumers. The forwarding stalls when I bring down the node that has consumers. Again, we were able to reproduce this issue at will and Oracle has acknowledged that it is a bug. They've reported that Unicast fails without any warning whereas Multicast fails with a warning in the log. We have observed this message forwarding stalling even with UDQs.
I have another case open for an issue where our message bridges that transfer messages from TIBCO to WLS stalls after sometime. The status is shown as active but it is not doing anything. The server instance shows stuck threads trying to roll back a message. TIBCO logs indicate that it is receiving a request to rollback a transaction but it is not finding the transaction to rollback. The only way to recover from this condition is to restart the cluster. I am fairly confident that he root case for this issue is again the XA transaction issue. I changed our UDQ to pinned destination in one environment and we are no longer seeing dups or bridge stalling there. Hopefully Oracle can resolve the message forwarding issue.Thanks again….

Similar Messages

  • Duplicate JMS Message

    Hello All,
    We are facing an issue with JMS connection - getting the error: 'Duplicate JMS message with JMS Message ID ID: 414************************* detected. Duplicate will be ignored.'
    Cause: Issue has stared when we had a Huge Pile-Up somedays back in PI queue (in SMQ2). During that period, messages didnt reach PI, and hence messages went to JMS-ApplicationTeam's BACKOUT Queue. They have tried to replay the messages from their BackOut queue, and when they try to do so we are getting this error. (and actually failing in SAP PI SXMB_MONI)
    Please find the attached screenshot.
    Regards,
    KarthiSP

    Hi karthi
    You will have to delete the entries from the table or disable the duplicate check in adapter.
    Check the following blogs
    Duplicate message error in JMS adapter
    Disable the duplicate check in SAP PI n sender JMS adapter is it possible?
    Duplicate message id's in IE
    Regards
    Osman

  • Adapter Status Error :  Error in creating message ID map for JMS message:

    Currently in the SAP XI 3.0 JMS Adapter, I am receiving the following error
    Error in creating message ID map for JMS message:
    ie. Error while processing message 'de8265f6-c864-4479-1137-9bab17b78b3b';  detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Error in creating message ID map for JMS message: ID:c3e2d840d8d4d7f14040404040404040c44f8e2213630b01 at com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(InboundDuplicateCheckFilter.java:103)
    Although I am receivng this error, when I check the details of the message processing, all steps are successful and the message is set to status : DLVD
    Audit Log for Message: de8265f6-c864-4479-1137-9bab17b78b3b
    Time Stamp     Status     Description
    09.06.2009 13:27:24     Success     New JMS message with JMS message ID ID:c3e2d840d8d4d7f14040404040404040c44f8e2213630b01 received. The XI message ID for this message is de8265f6-c864-4479-1137-9bab17b78b3b
    09.06.2009 13:27:24     Success     JMS message converted to XI message format successfully
    09.06.2009 13:27:24     Success     RRB: entering RequestResponseBean
    09.06.2009 13:27:24     Success     RRB: suspending the transaction
    09.06.2009 13:27:24     Success     RRB: passing through ...
    09.06.2009 13:27:24     Success     RRB: leaving RequestResponseBean
    09.06.2009 13:27:24     Success     Transform: using Transform.Class: com.sap.aii.messaging.adapter.Conversion
    09.06.2009 13:27:24     Success     Transform: transforming the payload ...
    09.06.2009 13:27:24     Success     Transform: successfully transformed
    09.06.2009 13:27:24     Success     Application attempting to send an XI message synchronously using connection JMS_http://sap.com/xi/XI/System.
    09.06.2009 13:27:24     Success     Trying to put the message into the call queue.
    09.06.2009 13:27:24     Success     Message successfully put into the queue.
    09.06.2009 13:27:24     Success     The message was successfully retrieved from the call queue.
    09.06.2009 13:27:24     Success     The message status set to DLNG.
    09.06.2009 13:27:25     Success     The application sent the message synchronously using connection JMS_http://sap.com/xi/XI/System. Returning to application.
    09.06.2009 13:27:25     Success     The message was successfully transmitted to endpoint http://sapxia.swets.nl:8000/sap/xi/engine?type=entry using connection JMS_http://sap.com/xi/XI/System.
    09.06.2009 13:27:25     Success     The message status set to DLVD.
    Not sure why this is occurring.......

    No, not using correlation id.
    I was able to resolve the issue on this queue by changing the following setting
    Under the PROCESSING tab, under XI SETTINGS
    Time period for Duplicate Check for EO(IO) (secs) it was set to 86400
    I have changed this to 300 seconds and the adapter has now gone green.
    BUT......
    That said, I have the exact scenario on another sender JMS channel set to 300 seconds and it exhibits the same issue.
    correlation settings:
    Set XI message id  to  = GUID
    Set Xi conversation

  • Solution to detect and discard duplicate JMS messages

    Hi All,
              I have a scenario where in I require this scenario:
              Even though JMS messages are sent twice OR multiple times from JMS producer,as for as consumers are concerned,the JMS consumer should be able to detect and discard the message.
              Can somebody tell me how to achive the same?
              Thanks,
              Prashanth Bhat.

    Funny - I was just talking to our product manager about exposing a "duplicate-elimination" feature in a future release. Anyhow, I think there are two solutions:
              (1) Use transactions on the producer side to guarantee it sends exactly-once. (Eg. The client uses the same tx to get its src message as it does to produce the messaage.) This is the standard solution - and, with batching, often turns out to be the highest performing solution (by far).
              (2) Modify the consumer to keep a history of received messages so that it can detect and discard duplicates. There's a white-paper on this topic here:
              High Performance Message Processing with BMT Message-Driven Beans and Spring
              http://dev2dev.bea.com/pub/a/2006/01/custom-mdb-processing.htm
              While the article specifically mentions "Spring", "Message-Driven Beans", and "BMT", the general concepts apply to any queuing system.
              Be sure to read through the comments. :)
              Tom

  • JMS - PI - IDoc scenario: possible to disable check for duplicate JMS message ID?

    Dear all,
    we have a scenario JMS - PI - IDoc. We are on 7.4 SP 7 AEX.
    Once and again we get this error in PI Logs
    com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(MessageFilterContext filterCtx)
    Duplicated and already processed JMS message with JMSMessageID ID:414d512053415050523120202020202053f0f4852000fb39 and XI message id b0beffdbcee64c2605779eaacf27b335 detected.
    We are currently investigating the error and it seems that the duplicate message IDs already exist on the JMS (MQ) side. The messages with the same ID reside in the same queue but have different payloads, so really are different messages
    While it's certainly true that we need to get rid of those duplicate IDs in the long run, I'd like to ask if it is possible to tackle the problem from both sides.
    My sender JMS Adapter looks like this:
    Transactional JMS Session = Checked
    Set PI Message ID (MessageID) to = GUID
    Set PI conversation ID (ConversationID) to = No Value
    Enable Duplicate Handling = Unchecked
    Prefix Channel ID = Unchecked
    --> Is there any way to tell PI to just ignore the duplicate JMS ID and continue processing?
    Many thanks
    Kind regards
    Jens

    Hi Jens - Please have a look at the below note if it helps.
    If you want the duplicate messages received from different channels (that is JMS Messages with the same Message ID) to be processed as a distinct JMS messages and not as duplicate messages, select Prefix Channel ID to JMS Message ID
    Reference :
    Configuring the Sender JMS Adapter - Advanced Adapter Engine - SAP Library

  • WebLogic 10 : Unable to view JMS message

    When I navigate to from weblogic admin console to
    Services->Messaging->JMS Modules->My queue->Monitoring tab I see count as 1 one High Messages but
    When I check the queue and click on Show messages button the resulting messages grid is empty.
    Why can't I view the message??

    The high messages count shows statistics for what has happened not the current messages in the queue.
    When you have a message current count you can probably view it (when you are fast enough).
    Note that messages once they are consumed are no longer in the queue.

  • Producing A JMS message using OSB

    Hi all,
    I have a use case where I'm querying salesforce and the response which I get back should be produced as a message in JMS queue. Any thoughts?
    Thanks
    Karthick.G

    you could create a proxy service which will route to the saleforce service, response is coming back in $body.
    you create a new business service jms transport and endpoint to the queue you defined, and in the response pipeline you publish to this business service with $body input (or part of the $body, depends on the format of the message you want to publish, or you first transform it with an xquery and the publish it)

  • Possible to use a message bridge for access to message copies?

    I'd like to be able to consume copies of messages that go across a queue so that they can be validated during testing.
    I've been unable to find any mechanisms for authenticated message monitoring which exists in other JMS brokers such as TIBCO EMS and so I'm going down the route of seeing whether a message bridge could help me. My thinking is that I can bridge from QueueA onto TopicA - where the message stays on QueueA and a copy is sent to Topic A which can be safely consumed by the testing tool
    First question - is this a workable solution, ie does the message sent to QueueA stay on QueueA until is is consumed normally, or is the message forwarded to the bridged TopicA thus removing the original message?
    Second question - I've tried to get a bridge working but encounter an error when trying to use it. The monitoring tab shows the bridge is up OK but I get the exception below in the admin console
    <11-Oct-2010 13:55:12 o'clock BST> <Warning> <MessagingBridge> <BEA-200026> <Bridge "Bridge-0" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was javax.resource.ResourceException: Error sending message.)>
    Any help and advice appreciated
    Stuart

    One approach is to use a topic; producers send to the topic and both of your application consumer and your auditing consumer consume from the topic. If you have multiple application consumers, you could have a bridge to forward the messages from the topic to a queue and your applications consumers can consume from the queue, while your auditing consumer consumes from the topic.
    There is a message life cycle logging capability in WLS JMS, which may be helpful. It can be enabled on a per destination basis. It logs an event in a file when a message is produced, consumed, removed, expired and etc. However the message body is not available in the log. The details can be found at
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13738/troubleshoot.htm#i1128815

  • Message Bridge or Foreign JMS

              HI
              We are planning to use MQ with our WebLogic setup we are using WL8.1
              and MQ 5.2.
              Just wanted to find out if setting up MQ as a Foreign JMS is better than Bridging.
              The Foreign JMS provider setup seems to be much easier than the bridge.
              Do we get two phase commits with Foreign setup.
              Previously 6.1 sp5 when you setup a bridge with MQ the setup used to complain
              saying that we cannot use the XA adapter with 6.1 and MQ5.2, in 8.1 when we setup
              the driver and create a bridge it does not complain anymore does it mean that
              2PC works with WL8.1 and MQ5.2
              Thanks in Advance.
              Shekar
              

    And yes, you may not need the bridge
              in 8.1 unless your use case demands it. The bridge
              is useful for store-and-forward type designs
              between vendors - for instance, with the bridge
              a sender can still send to MQ even if MQ is down
              as they are sending to a WL queue which is bridged
              to MQ.
              Tom Barnes wrote:
              > Hi Sheckar,
              >
              > XA with MQ works in 6.1, I do not know why you were
              > getting the bridge error message, perhaps you switched
              > MQ versions.
              >
              > Perhaps you are unaware that:
              >
              > MQ5.N supports XA only if the MQ client is running on the
              > same machine as the MQ server.
              >
              > MQ5.(N+1) contains a feature that allows the MQ client to work
              > transactionally remotely. "MQ extended client" or somesuch.
              >
              > I think N is 2, but I'm not sure.
              >
              > Tom
              >
              > Shekar wrote:
              >
              >> HI
              >> We are planning to use MQ with our WebLogic setup we are
              >> using WL8.1
              >> and MQ 5.2.
              >> Just wanted to find out if setting up MQ as a Foreign JMS is better
              >> than Bridging.
              >> The Foreign JMS provider setup seems to be much easier than the bridge.
              >> Do we get two phase commits with Foreign setup.
              >>
              >> Previously 6.1 sp5 when you setup a bridge with MQ the setup
              >> used to complain
              >> saying that we cannot use the XA adapter with 6.1 and MQ5.2, in 8.1
              >> when we setup
              >> the driver and create a bridge it does not complain anymore does it
              >> mean that
              >> 2PC works with WL8.1 and MQ5.2
              >>
              >> Thanks in Advance.
              >> Shekar
              >>
              >>
              >
              

  • Messaging Bridge/Foreign JMS Server

    Can someone clarify what is the difference in using messaging bridge or Foreign JMS Server in listening to a topic from other weblogic server of same version.
    Edited by: user11359157 on 6 Jul, 2009 3:17 PM

    I always thought one has to use remote classes from the foreign JMS server in local the classpath to send or receive messages stored at
    the foreign JMS server / the remote side.
    <Jayesh> that is true of the remote side of the JMS is non-weblogic. </Jayesh>
    Also in the WLS bridge this can be specified. IMHO the bridge has the advantage that I can use the wls classe and the bridge knows
    the classpath and bridges to the foreign jms server, so the application developer doesn't have to use foreign classes, eg. tibco or mq.
    <Jayesh> When you have remote JMS is WebLogic it is obvious considering that both remote and local jms uses same weblogic classes. </Jayesh>
    Now, where does this happen for the foreign jms server (which is kind of alternative to wls bridge, without store and forward)?
    All I can see is a local JNDI lookup being translated to a remote one.
    Is really the local JMS implementation used to talk to the remote JMS server?
    When a JNDI lookup for a queue happens will then be WLS queue implementation returned?
    <Jayesh> No there is not local JMS store is used. Foreign JMS server just provides administrative convenience by moving remote JMS destination JNDI definitions in local JNDI definition. It allows to use this local definition by all EJBs, servlets and messaging bridges. If the remote definitions changes you can change those definition in admin console and does not need change in deployment descriptors of the EJBs and servlets to prevent redeployment. Again this is no administrative convenience and during run time it will behave exactly same as you are sending or receiving message directly from remote JMS destination.
    </Jayesh>
    Hope this clears confusion.
    jayesh@yagna

  • JMS Message Truncation

              We currently have a messaging bridge sitting between our Weblogic 8.1 (SP1) JMS
              queues and MQ queues. A program drops a fixed-length record onto the MQ queue
              and the bridge takes care of transferring it over to our WLS JMS queue. However,
              we have noticed that the length of the message, after it reached our JMS queue
              is smaller than that which was dropped on the MQ queue. Is there a size limitation
              that causes it to chop that message? I know I've looked at the Maximum Message
              Size on the console for that JMS queue and it's set to 2147483647. The MQ Max
              size is also set to 4MB.
              Please advise.
              Thanks
              Sami
              

              Tom,
              Thanks for your reply.
              I wanted to clarify that my previous message states that, per our MQ admin, the
              max size "on MQ" is set to 4MB and not the JMS max size (which is 2147483647).
              In any case, we were looking for any known bug/defect on the WL side that may
              cause such a behavior and we asked the same from our MQ contacts.
              Tom Barnes <[email protected]> wrote:
              >Hi Sami,
              >
              >WL JMS, and the WL Messaging Bridge do not truncate messages, which
              >means the problem is likely in MQ, in your application, or
              >in your test. Consult your MQSeries documentation to see how
              >it converts messages into the JMS format.
              >
              >The WL JMS Max Message Size parameter you refer to below does not
              >truncate a message. It prevents messages larger than the
              >given size from getting enqueued in the first place.
              >
              >Note that 2147483647 is the equivalent of 2GB, not 4MB as
              >you wrote below.
              >
              >Tom, BEA
              >
              >sami titi wrote:
              >
              >> We currently have a messaging bridge sitting between our Weblogic 8.1
              >(SP1) JMS
              >> queues and MQ queues. A program drops a fixed-length record onto the
              >MQ queue
              >> and the bridge takes care of transferring it over to our WLS JMS queue.
              > However,
              >> we have noticed that the length of the message, after it reached our
              >JMS queue
              >> is smaller than that which was dropped on the MQ queue. Is there a
              >size limitation
              >> that causes it to chop that message? I know I've looked at the Maximum
              >Message
              >> Size on the console for that JMS queue and it's set to 2147483647.
              > The MQ Max
              >> size is also set to 4MB.
              >>
              >> Please advise.
              >>
              >> Thanks
              >>
              >> Sami
              >>
              >
              

  • I am unable to send JMS message to application which resides in third party

    I am able to produce the Message into JMS demoQueue which is available in SOA 10.1.3.3. And also I tried remote server which is available in my office it having the application SchoolMAX with JMS Configuration. So I need to produce the JMS message into SchoolMAX application. But I am unable to pass to the data’s to that SchoolMAX JMS.
    for this I have configured the respective queues, queue factory etc in Enterprise Manager , but i am not able to access our application which is in remote server through third party in JDeveloper for BPEL Process.
    please i am very new to this JDeveloper & BPEL Console , please help me out in resolving the issue ASAP. please we will be waiting for some reply.

    Hi Kathy,
    Happy Holidays!  Do you have an iPad with cellular service and a text-messaging plan?
    Send messages with your iPhone, iPad, or iPod touch - Apple Support
    http://support.apple.com/en-us/HT201287
    What's the difference between SMS/MMS and iMessage?
    SMS/MMS lets you send text messages and photos to other cellular phones or devices. iMessage lets you send text messages and photos to another iOS device over Wi-Fi, without worrying about text-messaging charges (cellular data charges may apply). 
    What do I need to use SMS/MMS and iMessage?
    Here's what you need to use SMS/MMS and iMessage:
    SMS/MMS: A text-messaging plan. Contact your carrier for more information.
    iMessage: An iPhone, iPad, or iPod touch with iOS 5 or later.
    How do I know if my message used SMS/MMS or iMessage?
    You can tell which type of message you're sending by the color of the Send button and text bubble.
    SMS/MMS: Send button and text bubbles are green.
    iMessage: Send button and text bubbles are blue.
    How can I link my iPhone number with Messages on my iPad, iPod touch, or Messages for Mac?
    When you sign in to Messages with your Apple ID on your iPhone, you link your phone number to your Apple ID. If you then sign in to Messages with the same Apple ID on your iPad, iPod touch, or Mac, Messages will link that device to your phone number as well.
    I hope this information helps ....
    - Judy

  • Using Messaging  Bridge with Distributed Destinations

    I'm having some problems using Distributed Destinations with the Messaging Bridge in WLS 7.0sp2. Our configuration consists of the following:
              * WLS Server1:
              * JMS Server1:
              * inbound queue
              * outbound queue
              * JMS Server2:
              * inbound queue
              * outbound queue
              * WLS Server 2:
              * JMS Server3:
              * inbound queue
              * outbound queue
              A distributed destination is configured for the inbound and outbound queues.
              Two messaging queues are configured so that bridge from WLS JMS to Tibco JMS using the distributed destinations.
              Everything is working fine for the inbound, but we have found that the outbound messaging bridge is picking up messages from only one of the two JMS servers on the first WLS instance. When monitoring, it can be seen that there is no consumer registered against the second JMS server.
              Any suggestions?
              

    Hi Rob,
              Consumers on distributed destinations are always pinned
              to a single physical destination on creation. Only
              producers can round-robin each message. When a
              distributed destination is used as a source destination,
              you will need to configure a bridge per distributed
              destination. Alternatively, you can enable
              forwarding between the physical queues, which automatically
              forwards messages from physical queues with
              no consumers to physical queues that have consumers
              (but the extra hop impacts performance). For more information,
              consult the JMS documentation.
              Tom
              Rob McArthur wrote:
              > I'm having some problems using Distributed Destinations with the Messaging Bridge in WLS 7.0sp2. Our configuration consists of the following:
              > * WLS Server1:
              > * JMS Server1:
              > * inbound queue
              > * outbound queue
              > * JMS Server2:
              > * inbound queue
              > * outbound queue
              > * WLS Server 2:
              > * JMS Server3:
              > * inbound queue
              > * outbound queue
              >
              > A distributed destination is configured for the inbound and outbound queues.
              >
              > Two messaging queues are configured so that bridge from WLS JMS to Tibco JMS using the distributed destinations.
              >
              > Everything is working fine for the inbound, but we have found that the outbound messaging bridge is picking up messages from only one of the two JMS servers on the first WLS instance. When monitoring, it can be seen that there is no consumer registered against the second JMS server.
              >
              > Any suggestions?
              >
              >
              

  • Problems starting a Message Bridge on 8.1sp3

    Hi,
              We've been ruuning weblogic server 8.1 sp2 for sometime using a message bridge it has always startted transferring message automatically after a ser ver restart, you see messages such as :
              Oct 12, 2004 10:27:10 AM BST> <Notice> <WebLogicServer> <BEA-000355> <Thread "ListenThread.Default" listening on port 8001, ip address 16
              1.2.231.193>
              <Oct 12, 2004 10:27:10 AM BST> <Info> <Management> <BEA-140009> <Configuration changes for the domain have been saved to the repository.>
              <Oct 12, 2004 10:27:10 AM BST> <Info> <Configuration Management> <BEA-150007> <The booted configuration ./config.xml has been backed up at
              /qv/dev/capg002b/weblogic/./config.xml.booted.>
              <Oct 12, 2004 10:27:44 AM BST> <Info> <MessagingBridge> <BEA-200020> <Bridge "BLS-BLP Messaging Bridge" is stopped.>
              <Oct 12, 2004 10:27:44 AM BST> <Info> <MessagingBridge> <BEA-200033> <Bridge "BLS-BLP Messaging Bridge" is obtaining connections to the two adapters.>
              <Oct 12, 2004 10:27:44 AM BST> <Info> <MessagingBridge> <BEA-200032> <Bridge "BLS-BLP Messaging Bridge" is configured to disallow degradation of its quality of service in cases where the configured quality of service is unreachable.>
              <Oct 12, 2004 10:27:44 AM BST> <Info> <MessagingBridge> <BEA-200030> <Bridge "BLS-BLP Messaging Bridge" is configured to work in "Exactly-
              once" mode, and it is actually working in "Exactly-once" mode.>
              <Oct 12, 2004 10:27:44 AM BST> <Info> <MessagingBridge> <BEA-200028> <The bridge "BLS-BLP Messaging Bridge" has started transferring messages.>
              <Oct 12, 2004 10:28:09 AM BST> <Info> <MessagingBridge> <BEA-200028> <The bridge "BLS-BLP Messaging Bridge" has started transferring messages.>
              <Oct 12, 2004 10:28:34 AM BST> <Info> <MessagingBridge> <BEA-200028> <The bridge "BLS-BLP Messaging Bridge" has started transferring messages.>
              but with 8.1sp3 the Message Bridge does NOT automatically start transferring messges after a restart and you get messgaes like this :
              <Oct 12, 2004 10:42:24 AM BST> <Notice> <WebLogicServer> <BEA-000355> <Thread "ListenThread.Default" listening on port 8001, ip address 161.2.231.193>
              <Oct 12, 2004 10:42:24 AM BST> <Info> <Management> <BEA-140009> <Configuration changes for the domain have been saved to the repository.>
              <Oct 12, 2004 10:42:24 AM BST> <Info> <Configuration Management> <BEA-150007> <The booted configuration ./config.xml has been backed up at /qv/dev/capg002b/weblogic/./config.xml.booted.>
              <Oct 12, 2004 10:43:07 AM BST> <Info> <MessagingBridge> <BEA-200020> <Bridge "BLS-BLP Messaging Bridge" is stopped.>
              <Oct 12, 2004 10:43:07 AM BST> <Info> <MessagingBridge> <BEA-200033> <Bridge "BLS-BLP Messaging Bridge" is obtaining connections to the two adapters.>
              <Oct 12, 2004 10:43:07 AM BST> <Info> <MessagingBridge> <BEA-200032> <Bridge "BLS-BLP Messaging Bridge" is configured to disallow degradation of its quality of service in cases where the configured quality of service is unreachable.>
              <Oct 12, 2004 10:43:07 AM BST> <Info> <MessagingBridge> <BEA-200030> <Bridge "BLS-BLP Messaging Bridge" is configured to work in "Exactly-once" mode, and it is actually working in "Exactly-once" mode.>
              with sp3 the message transfer needs to be started manually from the browser console.
              So my questing : why is bridge start up not automatic in sp3, bug ? or feature ?
              thanks
              justin

    I've got some more info on this, and it gets stranger !!
              Basically I upgraded another system that uses Message Briging to sp3, and miraculuously, the transfer DID start automatically as desired. Very confusing ! so I compared the MessagingBridge stanzas in the config.xml for each system:
              this from the "broken" system where the bridge does not automatically start :
              <MessagingBridge Name="DStoMHMessagingBridge"
              QualityOfService="Exactly-once"
              SourceDestination="DStoMHSourceDestination" Started="true"
              TargetDestination="DStoMHTargetDestination" Targets="datasourceCluster"/>
              and this from the system where the bridge DOES automatically start :
              <MessagingBridge BatchSize="1" Name="BLS-BLP Messaging Bridge"
              SourceDestination="BLS-BLP Bridge Source Destination"
              Started="true"
              TargetDestination="BLS-BLP Bridge Target Destination" Targets="smpd289-bls1"/>
              I noticed that
              QualityOfService="Exactly-once"
              was missing from the working system, so removed it from the broken system. And sure enough the bridge transfer DID start automically, when it had'nt done before. Problem fixed.
              So there are several questions :
              1. Why does the QualityOfService setting have an impact on whether the Bridge starts automatically ?
              2. When you look at the web console on both the working and broken original systems and on the "broken" system with the QualityOfService="Exactly-once" line removered, It still says Exectly-once on the webpage. So Why this miss-match between whats contained in config.xml and whats shown on the webconsole ?

  • JMS message archives

    We are implementing our messaging services using JBoss JMS. The question here is specific to JMS in general.
    We are using durable PTP messaging pattern. The messages will be deleted from the JMS_MESSAGING table as soon as they consumed by the message consumer.
    But because of our business requirements we need to keep those messages in the table for certain period of time (couple months at least). Is it possible to keep them in the database using JMS? What are the steps I need to follow to achieve that?
    -APK.

    Use topics instead of queues. Add an extra subscriber that stores the message in a database.
    If you can't use topics for some reason then either...
    a. Write a message listener that reads the messages from the original queue, stores them in a database then forwards them on to a new queue. Reconfigure your original consumer to read messages from the new queue.
    b. Write a message listener that duplicates the messages from the original queue, and forwards them to two new queues. One queue will be read by the original consumer, the other by a message listener that stores the message in the database.
    Option b is more complex but has the slight advantage that if your database is temporarily down, but JMS is still working your consumer will keep getting messages.
    For any of these solutions you need to make sure you're using distributed transactions, so the JMS and JDBC part are atomic. If not you run the risk of either losing messages or more likely processing them twice.

Maybe you are looking for

  • PHP 5.1.1 Oracle9 connection

    Hello, I have problems with the connection between php and oracle. Setup i have: XAMMP(Apache,Myql,PHP) Windows XP Pro What i have done: 1.Changded php.ini and uncomment oci8.dll 2.When i clicked op php.exe buch of errors. 3.I overwrite the oci8.dll

  • Acrobat X Reader not printing

    Having problems printing a pdf file in Reader X. When I open file and select Print, the file disappears and throws up a report to send to Apple. Have clicked Reopen to send the file to Apple, but have not gotten any messages back. Posted in the Adobe

  • PM - service notification

    In case of service notification, is approval functionality possible ? Can we have something similar to purchase order approvals (release strategy) ? I mean the service notification should be approved by defined user or group. Can anybody suggest some

  • ADF Tabe's Pagination link does not work when embedded in iframe

    Hi experts, When I embedded ADF table(with JSF) in iframe like below code, the pagination link does not work. Is it a known bug? <iframe width=100% height=500 src="http://rst-act3ct2.us.oracle.com:8888/test/faces/modify.jspx" frameborder="0" scrollin

  • How to provide space withing Characters

    We area using Reports 6i and while runing we are looking for space withing the value for example in running time reports provide the output as SHISHU PAUL but we like output as S H I S H U P A U L Thanks Shishu Paul