Weblogic JMS Bridge betwwen WL 11g (10.3.3.0) and ActiveMQ 5.4.2
Hi,
I'm getting following warning when I try to connect two JMS Bridge Destinations (source WebLogic and destination ActiveMQ) through a Bridge.
<Warning> <Connector> <BEA-190032> << eis/jms/WLSConnectionFactoryJNDINoTX > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "javax.resource.ResourceException: Failed to start the connection ">
But when I test it by sending message WL does not forward that message to destination queue (ActiveMQ).
When I try to send message individually in WL Queue and MQ Queue from POJO class to test it it works fine.
Please find the setting details
JMS Bridge Destination for ActiveMQ
Adapter JNDI Name: eis.jms.WLSConnectionFactoryJNDINoTX
Classpath: path of activemq-core-5.4.2.jar
Connection URL: tcp://***.***.***.***:****
Initial Context Factory: org.apache.activemq.jndi.ActiveMQInitialContextFactory
Connection Factory JNDI Name: QueueConnectionFactory
Destination JNDI Name: destination queue
Destination Type: Queue
JMS Bridge Destination for WebLogic
Adapter JNDI Name: eis.jms.WLSConnectionFactoryJNDINoTX
Classpath:
Connection URL: t3://***.***.***.***:****
Initial Context Factory: weblogic.jndi.WLInitialContextFactory
Connection Factory JNDI Name: JNDI name of Connection Factory which is created in JMS module
Destination JNDI Name: JNDI name of Queue which is created in JMS Module
Destination Type: Queue
User Name: given
Password: given
Thanks in advance
Regards
Amlendu
Edited by: user7468329 on May 1, 2011 10:01 PM
Hi,
There's troubleshooting information in the bridge documentation.
google: FAQs: WebLogic Messaging Bridge site:oracle.com
Hope this helps.
Tom
Similar Messages
-
Weblogic JMS bridge between Weblogic and oracle Advanced Queue
Hi,
We are facing some issues when we are trying to integrate with Oracle AQ JMS through Weblogic.
We have configured a Foreign AQ server which points to the oracle Advanced Queue and we are trying to create a Weblogic JMS bridge between AQ and weblogic. The bridge works perfectly if create the connection factories and bridge destinations with NonTX mode. The issue is with XA mode. Also we have deployed the Resource adaper for XAResource to use XA transactions.
No help is available for the exception on google too :)
Following is the exception we are getting.
<An error occurred in bridge "aqjmsbridge" during the transfer of messages (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': XA_OK
javax.transaction.xa.XAException: method start should not be called on weblogic.transaction.internal.IgnoreXAResource
at weblogic.jms.foreign.IgnoreXAResourceImpl.start(ForeignAQIntegration.java:260)
at weblogic.connector.security.layer.AdapterLayer.start(AdapterLayer.java:513)
at weblogic.connector.transaction.outbound.XAWrapper.start(XAWrapper.java:466)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1184)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1117)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:516)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:443)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:118)
at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
at $Proxy59.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1427)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
.).>
Will appriciate any help for the above.
Thanks and Regards,
NavinMaybe this if of any help:
- Re: Help with creating AQ JMS
or
- Re: AQ Weblogic integration - JMS-107: Operation not allowed on Connection -
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…. -
JMS Bridge is not starting up in Weblogic10
Hi,
I am new to Weblogic10 and I configured the JMS server and JMS bridge to send and receive the messages from MQ queues. When starting the weblogic server I am continuously getting error like,
<21-Mar-2009 07:24:08 o'clock GMT> <Error> <MessagingBridge> <blx25ao01> <aadev100-01> <[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1237620248164> <BEA-200044> <The following exception has occurred:
java.lang.AbstractMethodError: getTransactionSupport
at weblogic.jms.bridge.internal.MessagingBridge.startInternal(MessagingBridge.java:615)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1030)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
>
Could you please help me what is the route cause for the above exception.Hi,
Please remove the UME inconsistencies as advised in note 818947.
Once done restart the server and JMS Provider service should start. Please update back regarding the result.
Thanks & Regards,
Vijith -
Weblogic Messaging Bridge - T3S Enabling Process
Dear All,
I need your help to resolve an issue in Weblogic Messaging Bridge - T3S enabling process.
I'm doing a POC to forward messages between 2 different domains (from wl 10.3.2 to wl 10.0) using Messaging Bridge with T3S Protocol.
I enabled SSL Port, Custom Identity and Custom Trust in those domains.
In my laptop (single JVM), WL Messaging Bridge in 10.3.2 is able to forward messages between domains using T3S.
My Testing Scenario:
A Sample web application use the https/t3s protocol to put message(s) in the source jms queue
Weblogic Messaging Bridge use the t3s protocol to get message(s) from source jms queue & forward the message(s) to the destination jms queue
But, When I tried the same POC in sepearate boxes (WL 10.3.2 in one box, WL 10.0 in another box). I got the below exceptiion.
Any one please throw some lights here to resolve the issue.
####<Oct 12, 2011 4:11:49 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1318416109085> <BEA-000000> <Exception:
javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://172.16.2.25:4936: Destination unreachable; nested exception is:
javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from 172.16.2.25 - 172.16.2.25 was not trusted causing SSL handshake failure.; No available router to destination]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:40)
at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:783)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:367)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at weblogic.jms.adapter.JMSBaseConnection.getInitialContext(JMSBaseConnection.java:2253)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:261)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:247)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:190)
at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:802)
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1180)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:395)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:315)
at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:596)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:309)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:352)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:307)
at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:115)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.java:123)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:860)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1051)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: java.net.ConnectException: t3s://172.16.2.25:4936: Destination unreachable; nested exception is:
javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from 172.16.2.25 - 172.16.2.25 was not trusted causing SSL handshake failure.; No available router to destination
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:216)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:352)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at weblogic.jms.adapter.JMSBaseConnection.getInitialContext(JMSBaseConnection.java:2253)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:261)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:247)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:190)
at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:802)
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1180)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:395)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:315)
at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:596)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:309)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:352)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:307)
at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:115)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.java:123)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:860)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1051)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: java.rmi.ConnectException: Destination unreachable; nested exception is:
javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from 172.16.2.25 - 172.16.2.25 was not trusted causing SSL handshake failure.; No available router to destination
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:464)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:315)
at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:251)
at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:194)
at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:352)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at weblogic.jms.adapter.JMSBaseConnection.getInitialContext(JMSBaseConnection.java:2253)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:261)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:247)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:190)
at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:802)
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1180)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:395)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:315)
at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:596)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:309)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:352)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:307)
at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:115)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.java:123)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:860)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1051)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
####<Oct 12, 2011 4:11:49 PM IST> <Warning> <Connector> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416109086> <BEA-190032> << eis/jms/WLSConnectionFactoryJNDINoTX > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "javax.resource.ResourceException: ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory, url = t3s://172.16.2.25:4936, user name = null) ">
####<Oct 12, 2011 4:11:49 PM IST> <Info> <MessagingBridge> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416109089> <BEA-200043> <Bridge "Bridge-0" failed to connect to the target destination and will try again in 45 seconds. This could be a temporary condition unless the messages repeat several times. (java.lang.Exception: javax.resource.ResourceException: ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory, url = t3s://172.16.2.25:4936, user name = null)
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1665)
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1645)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:460)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:247)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:190)
at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:802)
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1180)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:395)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:315)
at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:596)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:309)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:352)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:307)
at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:115)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.java:123)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:860)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1051)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
-------------- Linked Exception ------------
javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://172.16.2.25:4936: Destination unreachable; nested exception is:
javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from 172.16.2.25 - 172.16.2.25 was not trusted causing SSL handshake failure.; No available router to destination]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:40)
at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:783)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:367)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at weblogic.jms.adapter.JMSBaseConnection.getInitialContext(JMSBaseConnection.java:2253)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:261)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:247)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:190)
at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:802)
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1180)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:395)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:315)
at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:596)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:309)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:352)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:307)
at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:115)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.java:123)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:860)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1051)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.net.ConnectException: t3s://172.16.2.25:4936: Destination unreachable; nested exception is:
javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from 172.16.2.25 - 172.16.2.25 was not trusted causing SSL handshake failure.; No available router to destination
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:216)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:352)
... 28 more
Caused by: java.rmi.ConnectException: Destination unreachable; nested exception is:
javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from 172.16.2.25 - 172.16.2.25 was not trusted causing SSL handshake failure.; No available router to destination
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:464)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:315)
at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:251)
at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:194)
at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
... 31 more
)>
####<Oct 12, 2011 4:11:49 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416109479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:50 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416110055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:50 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416110479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:51 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416111055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:51 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416111479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:52 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416112055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:52 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416112479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:53 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416113055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:53 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416113479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:54 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416114055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:54 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416114479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:55 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416115051> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:55 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416115479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:56 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416116055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:56 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416116479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:57 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416117055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:57 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416117479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:58 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416118055> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
####<Oct 12, 2011 4:11:58 PM IST> <Debug> <MessagingBridgeRuntimeVerbose> <GLLNX01> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1318416118479> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 2 stopped = false>
Thanks in advance.Think this can help you on the way - http://blog.eisele.net/2010/06/weblogic-server-ssl-httpst3s-and-java.html
-
Help: jms bridge failed to put messages into target destination!
Hi all,
I created a jms bridge to transfer msgs form one domain(one cluster,hpux) to another domain(one cluster,aix),but it seems that the msg can't arrive at the target destination,below are the main log records:
####<2006-11-29 下åˆ09æ—¶19分09秒 GMT+08:00> <Info> <MessagingBridge> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200033> <Bridge "BillToEaiAckBridgeB1" is obtaining connections to the two adapters.>
####<2006-11-29 下åˆ09æ—¶19分09秒 GMT+08:00> <Info> <Common> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-000628> <Created "1" resources for pool "Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<2006-11-29 下åˆ09æ—¶19分09秒 GMT+08:00> <Info> <Common> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-000628> <Created "1" resources for pool "Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<2006-11-29 下åˆ09æ—¶19分09秒 GMT+08:00> <Info> <MessagingBridge> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200032> <Bridge "BillToEaiAckBridgeB1" is configured to disallow degradation of its quality of service in cases where the configured quality of service is unreachable.>
####<2006-11-29 下åˆ09æ—¶19分09秒 GMT+08:00> <Info> <MessagingBridge> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200030> <Bridge "BillToEaiAckBridgeB1" is configured to work in "Exactly-once" mode, and it is actually working in "Exactly-once" mode.>
####<2006-11-29 下åˆ09æ—¶19分09秒 GMT+08:00> <Info> <MessagingBridge> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200028> <The bridge "BillToEaiAckBridgeB1" has started transferring messages.>
####<2006-11-29 下åˆ09æ—¶20分11秒 GMT+08:00> <Error> <MessagingBridge> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200015> <An error occurred in bridge "BillToEaiAckBridgeB1" during the transfer of messages (weblogic.transaction.RollbackException: SubCoordinator 'eaiServerB1+10.1.31.7:7011+eaiDomain+t3+' not available - with nested exception:
[javax.transaction.SystemException: SubCoordinator 'eaiServerB1+10.1.31.7:7011+eaiDomain+t3+' not available]).>
####<2006-11-29 下åˆ09æ—¶20分11秒 GMT+08:00> <Warning> <MessagingBridge> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200026> <Bridge "BillToEaiAckBridgeB1" 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 weblogic.jms.bridge.internal.MessagingBridgeException.)>
####<2006-11-29 下åˆ09æ—¶20分12秒 GMT+08:00> <Info> <MessagingBridge> <billeai2> <beSrvB1> <ExecuteThread: '14' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200020> <Bridge "BillToEaiAckBridgeB1" is stopped.>
The logs told that the target destination is N/A,but didn't tell the detaild reason. Is there anybody who met this problem before and please give me a hand!!! thanks a lot!!the domains have to "trust" each other. Make sure to follow the instructions about the "enabled generated credential" in the following doc:
http://edocs.bea.com/wls/docs81/ConsoleHelp/messaging_bridge.html#1122172 -
JMS bridge from Tibco to WLS 8.1(sp4) problems
We have a WLS that contains a MDB for receiving messages from another system. When messages are received on the Tibco topic and are try to be delivered to the WLS, we get the exception below.
However, if we change the MDB to connect directly to the topic in the other WLS (the publisher), the message is received fine. Also, when using the Tibco bridge, if we use a simple command-line client to place a simple text-based message on the message topic, it is delivered to our server just fine.
Is this an authentication related issue? If so, then why does it work when the WLS servers are linked directly, but not when Tibco server is being used as bridge between them?
The publisher of the message is running on Linux, and the subscriber on Windows/XP. The Tibco server on Solaris and is v4.2.
Thanks,
Craig
<Nov 1, 2005 4:11:02 PM MST> <Warning> <MessagingBridge> <BEA-200026> <Bridge "MyMessaging Bridge" 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
: javax.resource.ResourceException: Error sending message
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1339
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:654)
at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:149)
at $Proxy8.send(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1258)
at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1181)
at weblogic.jms.adapter.JMSBaseConnection$27.run(JMSBaseConnection.java:1943)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:1939)
at com.tibco.tibjms.TibjmsSession._submit(TibjmsSession.java:3567)
at com.tibco.tibjms.TibjmsSession._dispatchAsyncMessage(TibjmsSession.java:1963)
at com.tibco.tibjms.TibjmsSession$Dispatcher.run(TibjmsSession.java:3098)
-------------- Linked Exception ------------
javax.resource.ResourceException: Error creating producer or sending message
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1339
at weblogic.jms.adapter.JMSBaseConnection.sendInternal(JMSBaseConnection.java:719)
at weblogic.jms.adapter.JMSBaseConnection.access$200(JMSBaseConnection.java:80)
at weblogic.jms.adapter.JMSBaseConnection$6.run(JMSBaseConnection.java:647)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:644)
at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:149)
at $Proxy8.send(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1258)
at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1181)
at weblogic.jms.adapter.JMSBaseConnection$27.run(JMSBaseConnection.java:1943)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:1939)
at com.tibco.tibjms.TibjmsSession._submit(TibjmsSession.java:3567)
at com.tibco.tibjms.TibjmsSession._dispatchAsyncMessage(TibjmsSession.java:1963)
at com.tibco.tibjms.TibjmsSession$Dispatcher.run(TibjmsSession.java:3098)
.)>We have a WLS that contains a MDB for receiving messages from another system. When messages are received on the Tibco topic and are try to be delivered to the WLS, we get the exception below.
However, if we change the MDB to connect directly to the topic in the other WLS (the publisher), the message is received fine. Also, when using the Tibco bridge, if we use a simple command-line client to place a simple text-based message on the message topic, it is delivered to our server just fine.
Is this an authentication related issue? If so, then why does it work when the WLS servers are linked directly, but not when Tibco server is being used as bridge between them?
The publisher of the message is running on Linux, and the subscriber on Windows/XP. The Tibco server on Solaris and is v4.2.
Thanks,
Craig
<Nov 1, 2005 4:11:02 PM MST> <Warning> <MessagingBridge> <BEA-200026> <Bridge "MyMessaging Bridge" 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
: javax.resource.ResourceException: Error sending message
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1339
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:654)
at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:149)
at $Proxy8.send(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1258)
at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1181)
at weblogic.jms.adapter.JMSBaseConnection$27.run(JMSBaseConnection.java:1943)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:1939)
at com.tibco.tibjms.TibjmsSession._submit(TibjmsSession.java:3567)
at com.tibco.tibjms.TibjmsSession._dispatchAsyncMessage(TibjmsSession.java:1963)
at com.tibco.tibjms.TibjmsSession$Dispatcher.run(TibjmsSession.java:3098)
-------------- Linked Exception ------------
javax.resource.ResourceException: Error creating producer or sending message
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1339
at weblogic.jms.adapter.JMSBaseConnection.sendInternal(JMSBaseConnection.java:719)
at weblogic.jms.adapter.JMSBaseConnection.access$200(JMSBaseConnection.java:80)
at weblogic.jms.adapter.JMSBaseConnection$6.run(JMSBaseConnection.java:647)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:644)
at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:149)
at $Proxy8.send(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1258)
at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1181)
at weblogic.jms.adapter.JMSBaseConnection$27.run(JMSBaseConnection.java:1943)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:1939)
at com.tibco.tibjms.TibjmsSession._submit(TibjmsSession.java:3567)
at com.tibco.tibjms.TibjmsSession._dispatchAsyncMessage(TibjmsSession.java:1963)
at com.tibco.tibjms.TibjmsSession$Dispatcher.run(TibjmsSession.java:3098)
.)> -
Jms.bridge.TemporaryResourceException
Folks,
I would very grateful if anyone has seen this one:
I'm attempting to connect to a remote weblogic server, my bridge destination is configured (as best I can see, correctly, as its a clone of a working environment on another server).
I am receiving the following error when the server tries to connect to the Bridge destination.
Some Points:
1. The remote WLE has a username/password on it, they've been configured.
2. The domain credentials have been changed to match those of the remote server.
3. The interoperability mode are the same across the domains.
4. The remote server is active, I have sent messages across on a client tester.
LOG
####<25-Jan-2007 14:02:45 o'clock GMT> <Info> <MessagingBridge> <serverName> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1169733765045>
<BEA-200043> <Bridge "aTOb" failed to connect to the target destination and will try again in 60 seconds. This could be a temporary condition unless the messages repeat several times. (java.lang.Exception: weblogic.jms.bridge.TemporaryResourceException
at weblogic.jms.adapter.JMSBaseConnection.throwTempResourceException(JMSBaseConnection.java:14
31)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:390)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:242)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:190)
at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:802)
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1057)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:346)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:294)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:277)
at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:606)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:271)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:352)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:
307)
at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.
java:115)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.
java:123)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:854)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1042)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
)>
####<25-Jan-2007 14:02:46 o'clock GMT> <Info> <Console> <serverName> <AdminServer> <[ACTIVE] ExecuteThread
: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <Enable debug flags for message bridge to capture more details:
-Dweblogic.Debug.DebugMessagingBridgeStartup=true
-Dweblogic.Debug.DebugMessagingBridgeRuntime=true
Edited by: atheek1 on 07-Jul-2010 03:21 -
JMS bridge and MQSeries. looking for statistics
Hi !
I have to use Weblogic 7 SP4 in cluster with a distant MQSeries queue manager.
I know I can't have a "exactly once" quality of service. I use a MDB (deplyed
on each instance of the server).
I'm looking for statistics about how often a message can be treated 2 (or more)
times.
Thanks a lot for any help !
Florent
Hi Florent,
Since these are MQ messages, it might be possible to find
such statistics in MQ. Also, I think that MQ stores a
redelivery count in their messages - so you can likely
instrument your application code to get at the count.
Note that 7.0 actually does support exactly once with WL MDBs driven
by MQ. If you use transactions you can infer some stats on redeliveries
by checking the relevant transaction statistics for rollback counts.
I'm attaching some notes on JMS integration for your
convenience.
Tom
florent wrote:
> Hi !
>
> I have to use Weblogic 7 SP4 in cluster with a distant MQSeries queue manager.
> I know I can't have a "exactly once" quality of service. I use a MDB (deplyed
> on each instance of the server).
>
> I'm looking for statistics about how often a message can be treated 2 (or more)
> times.
>
> Thanks a lot for any help !
>
> Florent
JMS Integration of Foreign Vendors with BEA WebLogic Server
The following notes are derived mostly from "http://dev2dev.bea.com/technologies/jms/index.jsp".
For additional questions, a good forum for WebLogic questions in general is "newsgroups.bea.com". These can be mined for information by using Google's newsgroup search function.
JMS Integration Overview
- For integration with "non-Java" and/or "non-JMS" platforms, see "Non-Java Integration Options" below.
- For a foreign JMS vendor to participate in a WL transaction it must support XA. Specifically, it must support the javax.jms.XA* interfaces.
- In WL versions 6.0 and up it is possible to make synchronous calls to foreign JMS vendors participate in a WL transaction as long as the foreign vendor supports XA.
- WL 6.0 and 6.1 MDBs can be driven by foreign vendors non-transactionally. They can be driven transactionally by a select few foreign vendors (MQ is not part of the select few)
- WL 7.0 and later, MDBs can be driven by foreign vendors transactionally and non-transationally.
- WL 6.1 and later WL provides a messaging bridge feature. Messaging bridges forward messages between any two JMS destinations, including foreign destinations, and can transfer messages transactionally or non-transactionally.
- WL 8.1 JMS provides additional features that simplify transactional and JNDI integration of foreign vendors. See http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
Integration with 8.1 Details
A good overview of 8.1 JMS interop capability is the presentation "Integrating Foreign JMS Providers with BEA WebLogic Server" here:
http://www.bea.com/content/files/eworld/presentations/Wed_03_05_03/Application_Servers/1097-Foreign_JMS_Providers_WLS.pdf
This document refers to helpful new 8.1 features, which simplify integration. These include:
http://edocs.bea.com/wls/docs81/ConsoleHelp/jms_config.html#accessing_foreign_providers
http://edocs.bea.com/wls/docs81/jms/j2ee_components.html#1033768
And are also summarized here (under interoperability):
http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
Also read the extensive MDB documentation, which extensively covers integrating foreign vendors:
http://edocs.bea.com/wls/docs81/ejb/message_beans.html
The 8.1 features are likely sufficient for most 8.1 integration needs, and you may not need to refer "Using Foreign JMS Providers With WLS" white-paper mentioned below.
Integration with 6.1 and 7.0 Details
Read the "Using Foreign JMS Providers With WLS" white-paper:
http://dev2dev.bea.com/products/wlserver/whitepapers/jmsproviders.jsp
Note that this white-paper does not take into account 8.1 features.
For 7.0 read the extensive 8.1 MDB documentation, which largely also applies to 7.0:
http://edocs.bea.com/wls/docs81/ejb/message_beans.html
Non-Java Integration Options
- WL JMS has a JNI based C client which is available for Windows and some UNIX platforms. This C client supports 7.0 and up, and will be officially packaged with WLS in 9.0 (virtually unchanged). The C API is currently only supported through the jms newsgroup. See "JMS C API", here:
http://dev2dev.bea.com/technologies/jms/index.jsp
- WL supports direct Windows COM access through its "JCOM" feature. This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
http://e-docs.bea.com/wls/docs61/jcom.html
http://e-docs.bea.com/wls/docs70/jcom/
http://e-docs.bea.com/wls/docs81/jcom/
- Similar to JCOM, but more advanced, WL supports IIOP standard based access on multiple platforms. You can use the BEA Tuxedo C client for this purpose (no license fee). This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
http://e-docs.bea.com/wls/docs81/rmi_iiop/
http://e-docs.bea.com/wls/docs70/rmi_iiop/
http://e-docs.bea.com/wls/docs61/rmi_iiop/
Unlike most other approaches, the IIOP client approach also allows the client to begin and commit user (JTA) transactions (not configured).
- If you already have a BEA Tuxedo license, one option is communicate through BEA Tuxedo (which has various APIs on Windows) and configure a WebLogic Server to respond to these requests via the WTC bridge. Search for "WTC" in the BEA docs. Unlike most other approaches, the Tuxedo API approach also allows the client to begin and commit user (JTA) transactions.
- Another approach is to interop via web-service standards. Or even to simply to invoke a servlet on the WL server using a basic HTTP call from Windows. These in turn can invoke the JMS API. There is a white-paper on "Interoperability Study of BEA WebLogic Workshop 8.1 and Microsoft .NET 1.1 Web Services", that demonstrates web-services here:
http://ftpna2.bea.com/pub/downloads/WebLogic-DotNet-Interop.pdf
- Yet another approach is to use a third party product that is designed to wrap any JMS vendor. There are even open source versions. In no particular order, here are some examples: Open3 WinJMS, CodeMesh, Active JMS, SpiritSoft
- Finally, there are .NET/C/C++ integration libraries that not specific to JMS, some examples are JNBridge, Jace, and CodeMesh.
Notes on MQ Remote Capable XA Clients
Until recently, IBM MQ JMS clients could not work transactionally unless they were running on the same host as their MQ server. This is a limitation unique to MQ that was relaxed with the introduction of IBM's new "WebSphere MQ Extended Transactional Client". See:
http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf
The product is new, and for some reason, configuration of this client seems to be tricky, even when WebLogic is not involved at all. Oddly, the main sticking point seems to be simply making sure that class paths refer to the required IBM jars:
- Required on WLS where MQ objects are bound into JNDI:
com.ibm.mq.jar, com.ibm.mqjms.jar
- Required only if MQ objects are bound into JNDI on a different server:
com.ibm.mq.jar
If there are problems when using this client, first get it to work using a pure IBM client without any BEA classes involved. Once that is working, search the WL JMS newsgroup for answers and/or contact BEA customer support.
Notes on Oracle AQ Integration
If problems are encountered integrating Oracle's built-in queuing (Oracle AQ) JMS client, there is publicly available wrapper code that can aid integrating AQ directly into MDBs, JMS, or the messaging bridge. The solution is titled "Startup class to bind AQ/Referenceable objects to WLS JNDI", is not supported by BEA, and is posted to:
http://dev2dev.bea.com/codelibrary/code/startupclass.jsp
Caveats:
The solution doesn't directly support concurrent consumers. Perhaps Oracle requires that concurrent consumers each have a unique JMS connection? As a work-around, parallel message processing can be achieved indirectly by forwarding AQ messages into a WL JMS destination - which do support concurrent processing.
Up-to-date versions of Oracle may be required. For more information, google search the weblogic.developer.interest.jms newsgroup for "Oracle" and "AQ".
The solution doesn't seem to support transactions, it may be possible to extend it to do so.
MDB Thread Pool Notes
WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to specify which thread pool an MDB uses to run its instances. In most cases this field should be configured to help address potential performance issues and/or dead-locks:
http://edocs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html#dispatch-policy
(Note that "dispatch-policy" is ignored for non-transactional foreign vendors; in this case, the MDB "onMessage" callback runs in the foreign vendor's thread.)
MDB Concurrency Notes
Queue MDBs driven by foreign providers can run multiple instances concurrently. Topic MDBs driven by foreign providers are limited to one instance (not sure, but transactional foreign driven topic MDBs may not have this limitation). The size of the thread pool that the MDB runs in and the "max-beans-in-free-pool" descriptor limit how many instances run concurrently.
Design Guide-Lines and Performance Tuning Notes
The "WebLogic JMS Performance Guide" white-paper contains detailed design, performance, and tuning information for Clustering, Messaging Bridge, JMS, and MDBs.
http://dev2dev.bea.com/products/wlserver/whitepapers/WL_JMS_Perform_GD.jsp
-
Hi,
We are facing a weird issue while configuring JMS adapter for a queue sits on a remote Weblogic JMS Server.
- Configured adapter in a BPEL process and provided JNDI name 'eis/wls/Queue'
- Configured outbound connection pool with remote server url/user id/pass
- added the same jndi name properties in soa/connectors/JMSadapter.rar/weblogic-ra.xml
When we test the service, the following error is thrown:
java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Produce_Message' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. PublishToJms:JmsAdpWrite [ Produce_Message_ptt::Produce_Message(body) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/wls/Queue'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/wls/Queue. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution.
Please help...
Regards,
APHi,
We have re-deployed JMS adapter after changing weblogic-ra.xml as per the product documentation. Now getting a different exception..
java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Produce_Message' failed due to: ERRJMS_PROVIDER_ERR. ERRJMS_PROVIDER_ERR. Unable to produce message due to JMS provider internal error. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:570) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:381) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:298) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:157) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283) at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53) at
Any thoughts on this ?
Regards,
AP -
CMT and using non-Weblogic JMS in a session bean
I am writing a session bean which sends a JMS message using a non-weblogic JMS
provider. This bean is marked for CMT and I want the JMS send to participate in
this CMT as well. My understanding is that I should be able to do this by defining
a <resource-ref> element in the ejb-jar.xml and a corresponding <resource-descriptor>
element in the weblogic-ejb-jar.xml file. The bean would then use the <res-ref-name>
defined under the <resource-ref> element to lookup the connection factory. What
do I have to put in weblogic-ejb-jar.xml file to make sure that the connection
factory specified in <res-ref-name> maps to a connection factory that is in a
foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI) and not in
Weblogic's JNDI?
Thanks in advance for your help.
It sounds like you're using Tibco JMS to receive messages from the MDB, and
then to send out a message. WLS 7.0 will handle the transaction enlistment
properly when it receives messages for the MDB, but you'll have to enlist
the JMS provider yourself when you send the message, using the white paper
that Tom pointed you to as a guide.
In WLS 8.1, coming soon, we'll automatically enlist the provider in the
transaction if you look it up using a "resource-ref" element in the EJB like
you described. Today, you can use that element but no transaction
enlistement is being done.
greg
"Venkat" <[email protected]> wrote in message
news:[email protected]...
>
> We also need this feature.
> We are using Weblogic 7.0 and Tibco JMS 3.0,
> which supports XA.
>
> We are mainly interested in subscribing using MDB
> and publishing using a session bean in one transaction.
> Do you think by using resource-refs in conjunction
> with registering with Weblogic JNDI during startup
> can do the job?
>
> Or how about using XAConnectionFactory and XASession
> classes for JMS publishing ?
>
> Thanks.
>
> Tom Barnes <[email protected]> wrote:
> >Hi Mihir,
> >
> >Support for automatic enlistment of foreign JMS vendors
> >via the resource-ref approach is not available in WLS.
> >This support will be available in the next release:
> >limited access beta is available now, public beta is available
> >in 2-3 months. You are the first customer I've heard of that
> >asked for this feature. Very cool. Good timing.
> >
> >As you are not using WebLogic JMS, you will need to do the
> >transaction enlistment yourself. This isn't that hard
> >to do. I suggest that you refer to the integrating foreign
> >JMS vendor white-paper available on dev2dev.bea.com.
> >Also, refer to the integrating transactions with
> >MQSeries integration paper, which will likely serve your
> >purposes better. Note that some JMS vendors
> >have problems with concurrent transactions in a single
> >JMS connection, or with transactions that attempt
> >to switch threads (eg. suspend() in one thread
> >and resume() in another).
> >
>
>http://dev2dev.bea.com/resourcelibrary/whitepapersdetail.jsp?highlight=whit
epapers&filePath=components%2Fdev2dev%2Fresourcelibrary%2Fwhitepapers%2Fwp_j
msproviders.htm
>
>http://dev2dev.bea.com/resourcelibrary/whitepapersdetail.jsp?highlight=whit
epapers&filePath=components%2Fdev2dev%2Fresourcelibrary%2Fwhitepapers%2Fwp_j
tatransactions.htm
> >
> >Tom
> >
> >mihir sharma wrote:
> >> I am writing a session bean which sends a JMS message using a
non-weblogic
> >JMS
> >> provider. This bean is marked for CMT and I want the JMS send to
participate
> >in
> >> this CMT as well. My understanding is that I should be able to do this
> >by defining
> >> a <resource-ref> element in the ejb-jar.xml and a corresponding
<resource-descriptor>
> >> element in the weblogic-ejb-jar.xml file. The bean would then use the
> ><res-ref-name>
> >> defined under the <resource-ref> element to lookup the connection
factory.
> >What
> >> do I have to put in weblogic-ejb-jar.xml file to make sure that the
> >connection
> >> factory specified in <res-ref-name> maps to a connection factory that
> >is in a
> >> foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI)
> >and not in
> >> Weblogic's JNDI?
> >>
> >> Thanks in advance for your help.
> >>
> >
>
-
CMT with non-weblogic JMS in a session bean
I am writing a session bean which sends a JMS message using a non-weblogic JMS
provider. This bean is marked for CMT and I want the JMS send to participate in
this CMT as well. My understanding is that I should be able to do this by defining
a <resource-ref> element in the ejb-jar.xml and a corresponding <resource-descriptor>
element in the weblogic-ejb-jar.xml file. The bean would then use the <res-ref-name>
defined under the <resource-ref> element to lookup the connection factory. What
do I have to put in weblogic-ejb-jar.xml file to make sure that the connection
factory specified in <res-ref-name> maps to a connection factory that is in a
foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI) and not in
Weblogic's JNDI?
Thanks in advance for your help.I am writing a session bean which sends a JMS message using a non-weblogic JMS
provider. This bean is marked for CMT and I want the JMS send to participate in
this CMT as well. My understanding is that I should be able to do this by defining
a <resource-ref> element in the ejb-jar.xml and a corresponding <resource-descriptor>
element in the weblogic-ejb-jar.xml file. The bean would then use the <res-ref-name>
defined under the <resource-ref> element to lookup the connection factory. What
do I have to put in weblogic-ejb-jar.xml file to make sure that the connection
factory specified in <res-ref-name> maps to a connection factory that is in a
foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI) and not in
Weblogic's JNDI?
Thanks in advance for your help. -
Bridge NOT able to connect to one server and send message
I have configure JMS bridge between MQ queue and a distributed queue ( which is targeting JMS servers in a cluster ).
Bridge is able to connect to all servers and transfer messages, except one.
Messages arriving on the MQ queue are delivered by the JMS bridge to all the JMS servers except one
We turned on debug on MessagingBridge on affected server and got the error msg in the attached log.
Following is the exception strace:
<Jan 21, 2010 7:22:19 PM EST> <Warning> <MessagingBridge> <BEA-200026> <Bridge "TsysTIPSBridge" 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 excepti
on caught was java.lang.Exception: javax.resource.ResourceException: Error sending message
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1470)
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:714)
at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1325)
at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1251)
at weblogic.jms.adapter.JMSBaseConnection$29.run(JMSBaseConnection.java:2070)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:2066)
at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:2969)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:406)
at java.lang.Thread.run(Thread.java:595)
-------------- Linked Exception ------------
javax.resource.ResourceException: Error creating producer or sending message
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1470)
at weblogic.jms.adapter.JMSBaseConnection.sendInternal(JMSBaseConnection.java:815)
at weblogic.jms.adapter.JMSBaseConnection.access$200(JMSBaseConnection.java:84)
at weblogic.jms.adapter.JMSBaseConnection$6.run(JMSBaseConnection.java:707)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:704)
at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1325)
at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1251)
at weblogic.jms.adapter.JMSBaseConnection$29.run(JMSBaseConnection.java:2070)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:2066)
at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:2969)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:406)
at java.lang.Thread.run(Thread.java:595)
-------------- Linked Exception 2 ------------
javax.jms.MessageNotWriteableException: MQJMS0008: JMS Client attempts to write a read-only message
at com.ibm.jms.JMSMessage.newMessageNotWriteableException(JMSMessage.java:4782)
at com.ibm.jms.JMSMessage.setStringProperty(JMSMessage.java:5738)
at weblogic.jms.client.WLProducerImpl.send(WLProducerImpl.java)
at weblogic.jms.adapter.JMSBaseConnection.sendInternal(JMSBaseConnection.java:773)
at weblogic.jms.adapter.JMSBaseConnection.access$200(JMSBaseConnection.java:84)
at weblogic.jms.adapter.JMSBaseConnection$6.run(JMSBaseConnection.java:707)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:704)
at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1325)
at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1251)
at weblogic.jms.adapter.JMSBaseConnection$29.run(JMSBaseConnection.java:2070)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:2066)
at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:2969)
at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:406)
at java.lang.Thread.run(Thread.java:595)
I am new to JMS
Please helpWhat version of WebLogic and MQ are you using?
Have you ensured that the target Destination and Connection Factory are both WebLogic artifacts (neither should reference an MQ resource)?
Tom -
Problems in Sending Data through JMS Bridge - WLS 10.3 to WLS 11g
I have a scenario where I need to send data from a queue configured on WLS 10.3 to WLS 11g. I am using OSB on WLS 10.3.
What I have done is
1. Created a JMS Based BS in OSB which sends data to jms://localhost:7001/ConnFactoryJNDI/QueueJNDI
2. Created a JMS Bridge on WLS 10.3
3. Source Destination has been configured as the one mentioned above.
4. Target Destination has been configured to a queue on WLS 11g.
When i execute the JMS Based BS in OSB, data is being written to the Source Queue directly. I am not sure of the JMS Bridge functionality but I assume that once data is written to the Source Destination, that data will be automatically pushed on the target destination.
I have configured a JDBC store for the target queue but I no table is created with the data sent from the source.
M i missing something here?I think this question belongs to weblogic server, but as far as I know bridge should be created always at higher version. means, you should create bridge at 11g and try to pull/drop data from 10g. To check any errors in bridge, check the server log and make sure status of bridge is "forwarding messages"
Regards,
Anuj -
AQ JMS Bridge in WebLogic 9.2
I have configured a JMS Bridge that has source target as an AQ(which is referred to by a local weblogic jndi name - followed the robert patric framework) and the destination as a JMS queue. I can see the error logs prointed on the adminserver.logs when the bridge is started and the error is printed on and on.
error log:
####<May 25, 2010 1:51:19 PM CDT> <Info> <MessagingBridge> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479568> <BEA-200033> <Bridge "AQ_2_JMS_WLBridge" is obtaining connections to the two adapters.>
####<May 25, 2010 1:51:19 PM CDT> <Trace> <eis/jms/WLSConnectionFactoryJNDIXA> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1274813479569> <000000> <<May 25, 2010 1:51:19 PM CDT> Info: AQ_2_JMS_WLBridge : Source connection created to AIA_OSM_OUT_QUEUE>
####<May 25, 2010 1:51:19 PM CDT> <Trace> <eis/jms/WLSConnectionFactoryJNDIXA> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1274813479613> <000000> <<May 25, 2010 1:51:19 PM CDT> Info: AQ_2_JMS_WLBridge : Connection started to AIA_OSM_OUT_QUEUE>
####<May 25, 2010 1:51:19 PM CDT> <Info> <Common> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479614> <BEA-000628> <Created "1" resources for pool "eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<May 25, 2010 1:51:19 PM CDT> <Trace> <eis/jms/WLSConnectionFactoryJNDIXA> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1274813479615> <000000> <<May 25, 2010 1:51:19 PM CDT> Info: null : Target connection created to oracle.communications.ordermanagement.WebServiceQueue>
####<May 25, 2010 1:51:19 PM CDT> <Trace> <eis/jms/WLSConnectionFactoryJNDIXA> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1274813479617> <000000> <<May 25, 2010 1:51:19 PM CDT> Info: null : Connection started to oracle.communications.ordermanagement.WebServiceQueue>
####<May 25, 2010 1:51:19 PM CDT> <Info> <Common> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479618> <BEA-000628> <Created "1" resources for pool "eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<May 25, 2010 1:51:19 PM CDT> <Info> <MessagingBridge> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479618> <BEA-200032> <Bridge "AQ_2_JMS_WLBridge" is configured to disallow degradation of its quality of service in cases where the configured quality of service is unreachable.>
####<May 25, 2010 1:51:19 PM CDT> <Info> <MessagingBridge> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479618> <BEA-200030> <Bridge "AQ_2_JMS_WLBridge" is configured to work in "Exactly-once" mode, and it is actually working in "Exactly-once" mode.>
####<May 25, 2010 1:51:19 PM CDT> <Info> <MessagingBridge> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479618> <BEA-200028> <The bridge "AQ_2_JMS_WLBridge" has started transferring messages.>
####<May 25, 2010 1:51:19 PM CDT> <Trace> <eis/jms/WLSConnectionFactoryJNDIXA> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1274813479618> <000000> <<May 25, 2010 1:51:19 PM CDT> Error: AQ_2_JMS_WLBridge : Failed to create consumer AIA_OSM_OUT_QUEUE>
####<May 25, 2010 1:51:19 PM CDT> <Trace> <eis/jms/WLSConnectionFactoryJNDIXA> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1274813479619> <000000> <<May 25, 2010 1:51:19 PM CDT> Info: AQ_2_JMS_WLBridge : Connection closed to AIA_OSM_OUT_QUEUE>
####<May 25, 2010 1:51:19 PM CDT> <Warning> <MessagingBridge> <hostname_replaced> <osmdev03> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479619> <BEA-200026> <Bridge "AQ_2_JMS_WLBridge" 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 setting message listener.)>
####<May 25, 2010 1:51:19 PM CDT> <Trace> <eis/jms/WLSConnectionFactoryJNDIXA> <hostname_replaced> <osmdev03> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1274813479621> <000000> <<May 25, 2010 1:51:19 PM CDT> Info: null : Connection closed to oracle.communications.ordermanagement.WebServiceQueue>
####<May 25, 2010 1:51:19 PM CDT> <Info> <MessagingBridge> <hostname_replaced> <osmdev03> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1274813479621> <BEA-200020> <Bridge "AQ_2_JMS_WLBridge" is stopped.>
Thanks
MattHi Kapil,
WebLogic JMS doesn't distinguish between "incoming" and "outgoing" queues - they're both application queues as far as WebLogic is concerned. Either queue can be paused/resumed.
You might interesting in knowing that WL also supports pausing/resuming MDBs both administratively and automatically on failure. For information, see "Configuring Suspension of Message Delivery During JMS Resource Outages" in the MDB developer guide.
Tom
Maybe you are looking for
-
Error while executing the query in RSRT
Hi to all, I am executing the query in client development system in RSRT. Error coming (Query could not open Genun id is invalid) I shall be thankfull to you for this. Regards Pavneet Rana
-
Can I install two different versions of Reader?
I have Reader X (10.1.1) installed on my Win XP machine but need to use Reader 9.3.4 (or earlier version) to read a CD that has pdf links from an html file. For some reason the pdf's on this CD will only open in the older version (as noted by the CD'
-
Hi Pete and all, Sorry for the delayed response, as I have lots of workloads lately. Anyways, here is my Apex test online. http://apex.oracle.com/pls/apex/f?p=56613 login: test01 password: abc123 ws: dev_ws_100 create table test (name varchar2(100));
-
Why cant I play my songs from my iPod touch on other computers?
I know I'm kind of ranting, sorry, but I am very curious. I did a quick search trying to find information on this and I didn't have much luck. I have multiple personal computers. A desktop at home, a laptop for school/work and then multiple computers
-
After i upgrate my 2008 I-mac to Mavericks, the screen started to freeze. First i started to see colored line on the screen , the point on the mouse muved to the screen but left or right click and the keybord not work, turned off with the power butto