Message bridge adapter
I have implemented jms server, queues and bridges on a separate server within the
same domain, when i try to start this particular server, i get the following error
message,
" Weblogic Messaging Bridge Adapter (XA) > Error making initial connections for
pool. Reason: CreateManagedConnection Error: Failed to start the connection "
Any ideas what he is cribing about.
Which release and Service Pack you are using?
There is a FAQ for 6.1SP3 bridge at
http://e-docs.bea.com/wls/docs61/faq/
Most of the answers should apply to other releases too.
Dongbo
ravi adapa wrote:
> I have implemented jms server, queues and bridges on a separate server within the
> same domain, when i try to start this particular server, i get the following error
> message,
> " Weblogic Messaging Bridge Adapter (XA) > Error making initial connections for
> pool. Reason: CreateManagedConnection Error: Failed to start the connection "
> Any ideas what he is cribing about.
Similar Messages
-
Error occured in Messaging bridge in weblogic to MQ Series
Hi,
I am trying to send the message from weblogic JMS to MQ Server Queue using Message Bridging. All the configuration has been done in both Weblogic and MQ Server. Once creating the bridge, i am getting the following error.
<Feb 22, 2006 9:37:18 PM GMT+05:30> <Warning> <Connector> <BEA-190032> << Weblog
ic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAl
locationException of javax.resource.ResourceException: Failed to start the connection on createManagedConnection.>
--Please give me the suggestion to fix this.
Thanks in Advance,
Sureshkannan NagarajanHi,
I am trying to send the message from weblogic JMS to MQ Server Queue using Message Bridging. All the configuration has been done in both Weblogic and MQ Server. Once creating the bridge, i am getting the following error.
<Feb 22, 2006 9:37:18 PM GMT+05:30> <Warning> <Connector> <BEA-190032> << Weblog
ic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAl
locationException of javax.resource.ResourceException: Failed to start the connection on createManagedConnection.>
--Please give me the suggestion to fix this.
Thanks in Advance,
Sureshkannan Nagarajan -
Error occured in Message Bridging in Weblogic to MQ Server
Hi,
I am trying to send the message from weblogic JMS to MQ Server Queue using Message Bridging. All the configuration has been done in both Weblogic and MQ Server. Once creating the bridge, i am getting the following error.
<Feb 22, 2006 9:37:18 PM GMT+05:30> <Warning> <Connector> <BEA-190032> << Weblog
ic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAl
locationException of javax.resource.ResourceException: Failed to start the connection on createManagedConnection.>
--Please give me the suggestion to fix this.
Thanks in Advance,
Sureshkannan NagarajanHello Priya
If u r loading thru flat file
1. Check the correct path in infopackage
2. Check if it is opened,if it is then close it and run package again
If loading thru R/3
1. Check DS is not opened in change mode
2. Check if RSA3 is able to extract data...if it is then check in RSA7 and chk IDOC status...
3. Are you running init..then make sure no document is posted in R/3 side...
Thanks
Tripple k -
Hi
I am trying to configure a messaging bridge between weblogic 8.1 sp4 and jboss-4.0.2 on my local machine.
I have the bridge working for the following configuration:
Adapter JNDI Name: eis.jms.WLSConnectionFactoryJNDINoTX
Connection URL: jboss server URL with port
Initial Context Factory: org.jnp.interfaces.NamingContextFactory
Connection Factory JNDI Name: ConnectionFactory
Destination JNDI Name: queue/testQueue
and these jar's are in my weblogic class path:
[jboss_home]/client/jboss-common-client.jar
[jboss_home]/client/jbossmq-client.jar
[jboss_home]/client/jboss-system-client.jar
[jboss_home]/client/jboss-transaction-client.jar
[jboss_home]/client/jnp-client.jar
[jboss_home]/lib/concurrent.jar
[jboss_home]/client/log4j.jar
I have also deployed connector module jms-notran-adp.rar on my weblogic server.
I am using "Duplicate-okay" Quality Of Service and the bridge functions correctly.:^O
Now when I try to configure the bridge so that I can use "Exactly-once" Quality Of Service I use the following configuration:
Adapter JNDI Name: eis.jms.WLSConnectionFactoryJNDIXA
Connection URL: jboss server URL with port
Initial Context Factory: org.jnp.interfaces.NamingContextFactory
Connection Factory JNDI Name: XAConnectionFactory
Destination JNDI Name: queue/testQueue
and add these jar's in my weblogic class path:
[jboss_home]/client/jboss-common-client.jar
[jboss_home]/client/jbossmq-client.jar
[jboss_home]/client/jboss-system-client.jar
[jboss_home]/client/jboss-transaction-client.jar
[jboss_home]/client/jnp-client.jar
[jboss_home]/lib/concurrent.jar
[jboss_home]/client/log4j.jar
I also deployed the connector module jms-xa-adp.rar on my weblogic server.
The connection factory that I use for the weblogic destination is also "XA enabled".
The problem which I have is that no messages are transferred via the bridge and following error is printed out from the server :_|:
<2005/08/15 12:20:22 PM> <Error> <Connector> <BEA-190091> <Call to implementation of ManagedConnection.getXAResource in resource adapter with jndiName = eis/jms/WLSConnectionFactoryJNDIXA failed: java.lang.IllegalStateException: can only be called from server>
Could you please assist.
Thanks in advanceHi,
I am trying to do configure a bridge between weblogic 7.0 SP4 and JBOSS 4.0.3 SP1.
I have set the classpath as mentioned but I am getting an error
####<Apr 11, 2006 2:02:34 PM CEST> <Debug> <MessagingBridge> <DNI6> <dni6testser
ver> <ExecuteThread: '10' for queue: 'default'> <kernel identity> <> <200006> <M
essaging Bridge Debugging RUNTIME! Bridge WebOSSTEST Getting target connection>
####<Apr 11, 2006 2:02:34 PM CEST> <Warning> <Connector> <DNI6> <dni6testserver>
<ExecuteThread: '10' for queue: 'default'> <kernel identity> <> <190032> << Web
logic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > Resourc
eAllocationException of javax.resource.ResourceException: Failed to start the co
nnection on createManagedConnection.>
####<Apr 11, 2006 2:02:34 PM CEST> <Info> <MessagingBridge> <DNI6> <dni6testserv
er> <ExecuteThread: '10' for queue: 'default'> <kernel identity> <> <200043> <Br
idge "WebOSSTEST" failed to connect to the target destination and will try again
in 60 seconds. (java.lang.Exception: javax.resource.spi.ResourceAllocationExcep
tion: CreateManagedConnection Error: Failed to start the connection
at weblogic.connector.common.internal.ConnectionPool.makeResources(Conne
ctionPool.java:1009)
at weblogic.connector.common.internal.ConnectionPool.getConnection(Conne
ctionPool.java:1769)
at weblogic.connector.common.internal.ConnectionPoolManager.getConnectio
n(ConnectionPoolManager.java:191)
at weblogic.connector.common.internal.ConnectionManagerImpl.allocateConn
ection(ConnectionManagerImpl.java:25)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMS
BaseConnectionFactory.java:126)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(Messaging
Bridge.java:764)
at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.
java:930)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
-------------- Linked Exception ------------
javax.resource.ResourceException: Failed to start the connection
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBase
Connection.java:1273)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnectio
n.java:357)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:2
29)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnect
ion(JMSManagedConnectionFactory.java:190)
at weblogic.connector.common.internal.ConnectionPool.makeResources(Conne
ctionPool.java:1002)
at weblogic.connector.common.internal.ConnectionPool.getConnection(Conne
ctionPool.java:1769)
at weblogic.connector.common.internal.ConnectionPoolManager.getConnectio
n(ConnectionPoolManager.java:191)
at weblogic.connector.common.internal.ConnectionManagerImpl.allocateConn
ection(ConnectionManagerImpl.java:25)
Does anyone have a solution -
Resource Allocation Issue in Weblogic messaging bridges
Hi,
We are using
Weblogic version à WebLogic Server 8.1 SP5 Mon Sep 19 23:06:54 PDT 2005 641358 WebLogic XMLX Module 8.1 SP5 Mon Sep 19 23:06:54 PDT 2005 641358 WebLogic Temporary Patch for CR250915 04/18/2006 22:21:33
Java JDK version à 1.4.2_11
Oracle version à 9.2.08
Solaris version à Solaris 5.8
The weblogic application is deployed on Unix Solaris.
We have configured 8 message bridges within weblogic between the 8 Topics in weblogic (source JMS destination) and 8 topics in the External EMS server (Target JMS destination) .
The properties set for the message bridges are
1] AsyncEnabled ="true"
2] DurabilityEnabled ="true"
3] QualityOfService="Exactly-once"TransactionTimeout="10"
4] TransactionTimeout="10"
The source and target JMS destinations are bridge using the resource adapter of jms-xa-adp (connector module)
The properties for the Source JMS Destination are
1] ConnectionFactory = weblogic.jms.client.JMSXAConnectionFactory
The properties for the Target JMS Destination are
1] InitialContextFactory = com.tibco.tibjms.naming.TibjmsInitialContextFactory
2] ConnectionFactory = XATopicConnectionFactory
The EMS client version library is EMS version client library à 4.2.0
The message Bridge Thread Pool Size is à 12
When the weblogic is started, all the bridges comes up properly and are forwarding message to the target, however after some time (1 to 2 days) we observe some that some of the bridges are going down and we get see following error in the weblogic logs
####<May 26, 2010 12:00:56 AM GMT> <Warning> <Connector> <ngun015> <zlw1rdbs12-a> <ExecuteThread: '6' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-190032> << Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocationException of javax.resource.ResourceException: Failed to start the connection on createManagedConnection.>
####<May 26, 2010 12:00:56 AM GMT> <Info> <MessagingBridge> <ngun015> <zlw1rdbs12-a> <ExecuteThread: '6' for queue: 'MessagingBridge'> <<WLS Kernel>> <> <BEA-200042> <Bridge RefDataCompanyBridge failed to connect to the source destination and will try again in 60 seconds. (javax.resource.ResourceException: Failed to start the connection)>
Can you please help us resolve the above issue?
Thanks,
MohanrajThere seems to be couple of known issues with WLS 8.1 and Tibco EMS.. Check with support whether your issue is related to any of the below:
Message bridge will stop responding and WLS has to be restarted to overcome this.
There is a known bug on WLS 8.1. Bug 8062571 is for the issue.
Should the connection be interrupted by a problem on the Tibco side, the messaging bridge never tries to reconnect. the problem can be that Tibco EMS is restarted for some reason or that the maximum number of messages that Tibco EMS can handle is reached.
Unpublished bug8066979 is available for WebLogic Server 8.1 SP6 and later
Unpublished bug8172940 is available for WebLogic Server 9.2 MP2 and later
Note you can get more info about bridge problems by following the below steps:
To debug the bridge you can enable debugging for the messaging bridge using either of the followings methods:
* Add the following lines to your WebLogic start script (before the weblogic.Server line):
-Dweblogic.debug.DebugMessagingBridgeStartup=true
-Dweblogic.debug.DebugMessagingBridgeRuntime=true
* Add the following statements to the ServerDebug entry in your configuration file (config.xml) for the server that the messaging bridge is running on:
DebugMessagingBridgeStartup="true"
DebugMessagingBridgeRuntime="true"
Once debugging is enabled for the messaging bridge, the debugging messages are sent to the server log by default. However, if you want them to appear in the Administration Console, add “DumpToConsole” to the statements show above. For example:
-Dweblogic.debug.DebugMessagingBridgeStartupDumpToConsole=true
Edited by: atheek1 on May 30, 2010 5:19 AM -
Hi,
I've set up a messaging bridge between 2 Weblogic 8.1 SP5 boxes, and am getting the following generic error when it's trying to connect to the target. I've got bridge debugging on.
I've tried all the usual suspects: XA enabled connection factories, disabled certificate generation and set certificate to the same thing for both servers, disable guest is unchecked, connectors are deployed, etc.
This error message is useless...anyone have any ideas?
<Aug 16, 2006 2:56:24 PM IDT> <Debug> <MessagingBridge> <BEA-200006> <Messaging bridge debugging RUNTIME! Bridge bridge.test Getting target connection.>
<Aug 16, 2006 2:56:24 PM IDT> <Warning> <Connector> <BEA-190032> << Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocationException of javax.resource.ResourceException: Failed to start the connection on createManagedConnection.>The bridge just does a basic JNDI lookup, and there's nowhere to put additional parameters. However, you can do this using a "Foreign JMS Server".
Create a "Foreign JMS Server" either using the console, or by putting a ForeignJMSServer entry in config.xml. There is a "JNDI Properties" field, where you can specify your security credentials in name/value form (you'll need the values of those JNDI constants, which are "javax.jndi.something.something", not SECURITY_PRINCIPAL and SECURITY_CREDENTIALS.)
Then, have the bridge look up the "Local JNDI Name" from the Foreign JMS bean rather than the remote TIBCO JNDI object. (You do this by removing all the JNDI parameters from the bridge destination so that it uses the local JNDI provider, not the TIBCO JNDI provider.)
Essentially, by doing this, the Foreign JMS code in WLS is going to delegate the JNDI lookup to the TIBCO provider using all the JNDI parameters you specify, including security. -
Message Bridge from MQ on Linux
I am trying to set up a message bridge on Linux, using the same procedure I successfully used on Windows. I got the following error message:
<Warning> <Connector> <BEA-190032> << Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocationException of javax.resource.ResourceException: ConnectionFactory: failed to get initial context (InitialContextFactory =com.sun.jndi.fscontext.RefFSContextFactory, url = file:/jndi, user name = null) on createManagedConnection.>
Can anybody help?are you using "Exactly-Once" QoS for the Message Bridge ?
which version of WLS is this ?
cheers,
Dips -
Problems with Messaging Bridge and MQ.
Hi,
I'm trying to use the Weblogic messaging bridge to provide a set of local queues
to my application server from a set of MQ queues, using XA.
My problem is that when the bridge starts up, it gives the following error:
<Aug 5, 2002 4:35:14 PM BST> <Info> <MessagingBridge> <Bridge "BRIDGE.STATUS1"
failed to connect to the source destination and will try again in 20 seconds.
(javax.resource.spi.ResourceAllocationException: CreateManagedConnection Error:
ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory,
url = file:////blah/adminobjects, user name = null, password = null)>
<Aug 5, 2002 4:35:14 PM BST> <Notice> <WebLogicServer> <ListenThread listening
on port 8051>
I think the problem is as follows...
This bridge should be connecting to a file-server JNDI implementation, and should
therefore being trying to obtain a com.sun.jndi.fscontext.RefFSContextFactory
initial context, not a weblogic.jndi.WLInitialContextFactory one. I have set up
the destination in the weblogic console with a file server context, but this doesn't
have any effect.
The file server JNDI implementation definitely works, as I can access the queues
directly and use them to call MDBs.
Can anyone help?
You mentioned that the patch initially worked. What did you do after
that?
You can turn on the messaging bridge debug by adding those to
you script for starting the server:
-Dweblogic.Debug.DebugMessagingBridgeStartup=true
-Dweblogic.Debug.DebugMessagingBridgeRuntime=true
See what you get in the server log.
You need to post your config.xml and the script as well for further
help.
Dongbo
Christopher Sceats wrote:
>
> I'm afraid this is not the problem - I have all of the required things in my PATH
> and CLASSPATH:
>
> CLASSPATH:
> com.ibm.mq.jar
> com.ibm.mqbind.jar
> com.ibm.mqjms.jar
>
> PATH:
> /opt/mqi/bin
> /opt/mqi/java/lib
>
> Dongbo Xiao <[email protected]> wrote:
> >The possible problem is your PATH and CLASSPATH. You have to have the
> >
> >MQSeries stuff in your PATH and CLASSPATH (NOT the AdapterClasspath
> >attribute of your BridgeDestination) for starting the WebLogic server.
> >
> >Those are all documented. Please take a look
> >at the WebLogic Server online doc
> >http://edocs.bea.com/wls/docs70/adminguide/msgbridge.html
> >and
> >the latest integrating foreign providers white-paper. It is
> >available on dev2dev, or you can find it here:
> >http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=article&group=weblogic.developer.interest.jms&item=9364&utag=
> >
> >Dongbo
> >
> >
> >Christopher Sceats wrote:
> >>
> >> Thanks Dongbo.
> >>
> >> This initally worked and I was able to connect the bridge to the source
> >destination.
> >> However, today this no longer works, and I get the following error...
> >>
> >> <Aug 6, 2002 12:00:02 PM BST> <Warning> <Connector> << Weblogic Messaging
> >Bridge
> >> Adapter (XA) > ResourceAllocationException of javax.resource.ResourceException:
> >> Failed to start the connection on createManagedConnection.>
> >>
> >> Having seen a previous post on this subject, I tried sending a message
> >to this
> >> queue with a standalone client, and this works fine. However, when
> >I use the application
> >> server it fails to start the connection. Is there any way I can get
> >further diagnostics?
> >>
> >> Dongbo Xiao <[email protected]> wrote:
> >> >Are you using 6.1SP3? There is a known problem in 6.1SP3 that may
> >have
> >> >caused
> >> >your problem. Contact BEA support to get the Temporary Patch for the
> >> >problem.
> >> >The internal Change Request is CR081511 and the patch is
> >> >CR081511_61sp3.jar.
> >> >
> >> >Dongbo
> >> >
> >> >
> >> >Christopher Sceats wrote:
> >> >>
> >> >> Hi,
> >> >>
> >> >> I'm trying to use the Weblogic messaging bridge to provide a set
> >of
> >> >local queues
> >> >> to my application server from a set of MQ queues, using XA.
> >> >>
> >> >> My problem is that when the bridge starts up, it gives the following
> >> >error:
> >> >>
> >> >> <Aug 5, 2002 4:35:14 PM BST> <Info> <MessagingBridge> <Bridge "BRIDGE.STATUS1"
> >> >> failed to connect to the source destination and will try again in
> >20
> >> >seconds.
> >> >> (javax.resource.spi.ResourceAllocationException: CreateManagedConnection
> >> >Error:
> >> >> ConnectionFactory: failed to get initial context (InitialContextFactory
> >> >=weblogic.jndi.WLInitialContextFactory,
> >> >> url = file:////blah/adminobjects, user name = null, password = null)>
> >> >> <Aug 5, 2002 4:35:14 PM BST> <Notice> <WebLogicServer> <ListenThread
> >> >listening
> >> >> on port 8051>
> >> >>
> >> >> I think the problem is as follows...
> >> >>
> >> >> This bridge should be connecting to a file-server JNDI implementation,
> >> >and should
> >> >> therefore being trying to obtain a com.sun.jndi.fscontext.RefFSContextFactory
> >> >> initial context, not a weblogic.jndi.WLInitialContextFactory one.
> >I
> >> >have set up
> >> >> the destination in the weblogic console with a file server context,
> >> >but this doesn't
> >> >> have any effect.
> >> >>
> >> >> The file server JNDI implementation definitely works, as I can access
> >> >the queues
> >> >> directly and use them to call MDBs.
> >> >>
> >> >> Can anyone help?
-
Messaging Bridge on WLS 6.1 sp3
Hi
I'm having a problem setting up a messaging bridge on WLS6.1 (sp3)
The source destination (MQseries -> bridge) uses com.ibm.mq.jms.MQXAQueueConnectionFactory.
I use a startup class to create JNDI entries for the MQ queue and qmanager.
The target (bridge -> JMS queue) uses weblogic.jms.client.JMSXAConnectionFactory.
Both source and target destinations use the eis.jms.WLSConnectionFactoryJNDIXA
adapter JNDI name.
When I start the server, I get these 2 messages in the log:
Warning> <Connector> << Weblogic Messaging Bridge Adapter (Local TX) > Connection
Pool has been initialized with no connections.>
<Info> <Connector> << Weblogic Messaging Bridge Adapter (Local TX) > Connection
Pool initial
ization has completed successfully.>
followed by :
<Info> <MessagingBridge> <Bridge "MQJMSMessaging Bridge" suceesfully found the
two adapters configured for it.>
And when I try to monitor the messaging bridge runtime from the console, it shows
"Found two adapters and about to make connections" but nothing happens after that.
Any message sent to the MQ queue is not picked up.
I'm not sure if I'm doing something wrong.
Any help would be greatly appreciated.
Vic
Hi Victor,
First of all, are you running any batches? You need to get the latest bridge
batch for 6.1sp3 from BEA Customer Support.
Second, I noticed that you are using XA. I don't know which MQ release you
are using, but there was a limitaion in the previous MQSeries releases that the queue
manager has to be collcated with the client (which is the bridg ein our case) in order for XA
to work. You may want to check that out.
If the problem persists after you take care of these two issues,
you could turn on the bridge debug to see what is wrong.
You probably need to take a look at the bridge FAQ (where you can
find out how to turn on the debug) at
http://e-docs.bea.com/wls/docs61/faq/msgbridge.html
Another useful doc is the white paper on dev2dev for using foreign JMS in WLS.
http://dev2dev.bea.com/resourcelibrary/whitepapers/jmsproviders.jsp
Thanks,
Dongbo
Victor wrote:
> Hi
> I'm having a problem setting up a messaging bridge on WLS6.1 (sp3)
>
> The source destination (MQseries -> bridge) uses com.ibm.mq.jms.MQXAQueueConnectionFactory.
> I use a startup class to create JNDI entries for the MQ queue and qmanager.
>
> The target (bridge -> JMS queue) uses weblogic.jms.client.JMSXAConnectionFactory.
>
> Both source and target destinations use the eis.jms.WLSConnectionFactoryJNDIXA
> adapter JNDI name.
>
> When I start the server, I get these 2 messages in the log:
>
> Warning> <Connector> << Weblogic Messaging Bridge Adapter (Local TX) > Connection
> Pool has been initialized with no connections.>
> <Info> <Connector> << Weblogic Messaging Bridge Adapter (Local TX) > Connection
> Pool initial
> ization has completed successfully.>
>
> followed by :
> <Info> <MessagingBridge> <Bridge "MQJMSMessaging Bridge" suceesfully found the
> two adapters configured for it.>
>
> And when I try to monitor the messaging bridge runtime from the console, it shows
> "Found two adapters and about to make connections" but nothing happens after that.
>
> Any message sent to the MQ queue is not picked up.
>
> I'm not sure if I'm doing something wrong.
> Any help would be greatly appreciated.
>
> Vic
-
Message Bridge error:Connection Factory
Hi
I am trying to build a Message Bridge accross two domains which are using the same version of Weblogic Server(8.1).
I am running into this error..
<Warning> <Connector> <BEA-190032> << Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocationException of javax.resource.ResourceException: ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory, url = , user name =) on createManagedConnection.>
Please could anybody help me with this.Hi,
This exception indicates a failure to establish a JNDI context for either the source or target destination host. Check if the the bridge's configured URLs for both are correct. I'm not 100% sure, but it is likely that no URL need be configured for destination's that are in the same cluster as the bridge.
For more information, I suggest looking at the Messaging Bridge FAQ, which contains some troubleshooting tips. You can find a link to it here:
http://dev2dev.bea.com/technologies/jms/index.jsp
Tom Barnes, BEA -
Hi there,
i try to install wls61 sp3 for evaluating the messaging bridge and i could not find
the connectors (jms-xa-adp.rar, jms-notran-adp.rar, jms-notan-adp51.jar)
the documentation says they sould be in WL_HOME\server\lib, but there are not there
Where can i find them ?
Thanks
Bye
Sven
1) Ok, i took theese files, but to deploy a connector to a managed server, i have
to but the jmsadapte.jar-file from the *.rar-file to the classpath of the managed
server
2) Starting a managed server with this configuration i get the following error:
<Jul 11, 2002 4:38:51 PM CEST> <Info> <Connector> <Unable to determine Resource Principal
for Container Managed Security Context.>
<Jul 11, 2002 4:38:52 PM CEST> <Warning> <Connector> << Weblogic Messaging Bridge
Adapter (XA) > ResourceAllocationException of javax.resource.ResourceException: ConnectionFactory:
jms.connection.BridgeConnectionFactoryXA not found on createManagedConnection.>
<Jul 11, 2002 4:38:52 PM CEST> <Error> <Connector> << Weblogic Messaging Bridge Adapter
(XA) > Error making initial connections for pool. Reason: CreateManagedConnection
Error: ConnectionFactory: jms.connection.BridgeConnectionFactoryXA not found>
<Jul 11, 2002 4:38:52 PM CEST> <Warning> <Connector> << Weblogic Messaging Bridge
Adapter (XA) > Connection Pool has been initialized with no connections.>
So what am i doing wrong ??
Thanks
Bye
Sven
"Dongbo Xiao" <[email protected]> wrote:
>After all, the adapters for the Messaging Bridge are missing
>in the 6.1SP3 package. There is a temporary patch for this on
>the way. Meanwhile, you can download the adapters from
>ftp://edownload:[email protected]/pub/downloads/MessagingBridge61.zip
>
>Alternatively you can copy the adapters from WL_HOME\server\lib
>in the 7.0 package into 6.1SP3 installation WL_HOME\lib. If one
>side of your bridge is WebLogic Server 5.x, you need
>jms51-interop.jar file as well, which is in the same directory as the
>adapters.
>
>Dongbo
>
>"Sven Roesner" <[email protected]> wrote in message
>news:[email protected]...
>>
>> Hi there,
>> i try to install wls61 sp3 for evaluating the messaging bridge and i could
>not find
>> the connectors (jms-xa-adp.rar, jms-notran-adp.rar, jms-notan-adp51.jar)
>> the documentation says they sould be in WL_HOME\server\lib, but there
>are
>not there
>> ?!
>> Where can i find them ?
>> Thanks
>> Bye
>> Sven
>
>
-
Messaging Bridge/Resource adapter problem on Solaris?
Has anyone successfully used the supplied resource adapter and messaging bridge
on Solaris? We seem to have problems getting the resource adapter to be bound
properly. After creating a connector through the admin console (using any of the
weblogic supplied jms-*-adp.rar files) the element shows up in the JNDI tree but
has no object information associated with it - which I assume means it is not
bound. The following error shows up in the weblogic log file:
####<Jan 24, 2003 6:28:03 PM CST> <Error> <Connector> <fssun02> <AdminServer>
<ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'> <kernel identity>
<> <190004> <ManagedConnectionFactory not found for jndiName eis/jms/WLSConnectionFactoryJNDINoTX.>
We are using WL 7.0.1.0 and Solaris 2.8 (8). With the same configuration on Win
2K everything works properly. Classpath's etc all seem to be correct. Any ideas?
thanks,
I finally got my Messaging Bridge (Tibco to a WLS Cluster) to work. See my post 3 messages before yours - to which no-one responded... :-(
So here goes with my suggestion based on what I have done.
1. Create a Distributed Destination for the WLS queue and "auto deploy" it your cluster. (Read the manual on how to do that, it is quite straightforward).
2. In the Local Bridge Destination, put :
Connection URL - nothing
Initial Context Factory - weblogic.jndi.WLInitialContextFactory
Connection Factory JNDI Name - <your JMS conection factory name>
Destination JNDI Name - <the JNDI name given to the Distributed Destination>.
I hope that works.
Andy -
Message Bridge between WLS 6.1 sp3 and MQSeries 5.2
Hi,
I'm really struggling with getting the Message Bridge working with Weblogic 6.1
sp3 and MQSeries 5.2. Currently I have both installed on the same Windows 2000
machine. First I'll pose some questions that I have, then I discuss the error
I'm getting. Here are my questions:
1. With the jms-xa-adp.rar there is a ra.xml and a weblogic-ra.xml. Within the
ra.xml deployment descriptor there are config-properties for ConnectionURL, InitialContextFactory,
ConnectionFactoryJNDI, and DestinationType. If my MQSeries Queue is the source
jms destination bridge and my weblogic queue is the target jms destination bridge,
what values do I set for the listed config-properties? I can't seem to find any
documentation on what these values should be. Am I missing something? Do these
values even have to be set?
2. When I go to install a Weblogic instance to a different physical machine what
has to be installed in terms of MQSeries? So I'll have MQSeries on physical machineA
and Weblogic on a different physical machineB. I want machineA to forward all
messages placed on a MQSeries Queue to forward them to machineB where the weblogic
Queue resides. Does machineB also have to contain an MQSeries installation?
Or can I just grab the necessary libraries and jar files and place them on the
Weblogic machineB so they can be included?
3. Is it correct that if I distribute Weblogic onto one physical server and MQSeries
onto a different physical server that I cannot use Exactly-once quality of service?
Other notes:
1. I have the following patches installed for Weblogic 6.1 sp3:
CR081404_610sp3.jar
CR081511_61sp3.jar
2. Here is the commands I used to create my ConnectionFactory and Queue within
MQSeries:
def xaqcf(MQTestConnectionFactory) qmanager(QM_jeff)
def q(MQTestQueue) qmanager(QM_jeff) queue(default)
Okay...here is my error:
<21-Aug-02 11:08:34 ADT AM> <Error> <MessagingBridge> <Error occurred in bridge
"Messaging Bridge" during transferring messages (java.lang.Exception: java.lang.
reflect.UndeclaredThrowableException: java.lang.reflect.InvocationTargetException:
javax.resource.ResourceException: Error creating consumer or receiving message
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1086)
at weblogic.jms.adapter.JMSBaseConnection.receiveInternal(JMSBaseConnection.java:774)
at weblogic.jms.adapter.JMSBaseConnection.receiveCommon(JMSBaseConnection.java:656)
at weblogic.jms.adapter.JMSBaseConnection.receive(JMSBaseConnection.java:811)
at weblogic.jms.adapter.JMSConnectionHandle.receive(JMSConnectionHandle.java:111)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:60)
at $Proxy82.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1215)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:854)
at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.
Has anyone see this error before? Here is part of my ra.xml file....I just put
these entries in to see what happens:
<config-property>
<config-property-name>ConnectionURL</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property value>file:/C:/Develop/app_servers/WebSphere/MQSeries</config-property-value>
</config-property>
<config-property>
<config-property-name>InitialContextFactory</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>com.sun.jndi.fscontext.RefFSContextFactory</config-property-value>
</config-property>
<config-property>
<config-property-name>ConnectionFactoryJNDI</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>MQTestConnectionFactory</config-property-value>
</config-property>
<config-property>
<config-property-name>DestinationJNDI</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>MQTestQueue</config-property-value>
</config-property>
<config-property>
<config-property-name>DestinationType</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value></config-property-value>
</config-property>
<config-property>
<config-property-name>AdapterType</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>XATransaction</config-property-value>
</config-property>
Here is a snip of my config.xml:
<MessagingBridge AsyncEnabled="false" DurabilityEnabled="false"
Name="Messaging Bridge" QualityOfService="Atmost-once"
SourceDestination="Source JMS Bridge Destination"
TargetDestination="Target JMS Bridge Destination" Targets="myserver"/>
<JMSBridgeDestination
AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
ConnectionFactoryJNDIName="MQTestConnectionFactory"
ConnectionURL="file:/C:/Develop/app_servers/WebSphere/MQSeries"
DestinationJNDIName="MQTestQueue" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
Name="Source JMS Bridge Destination"/>
<JMSBridgeDestination
AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
ConnectionFactoryJNDIName="imagictv.platform.ToolkitRequestCF"
ConnectionURL="t3://localhost:7001"
DestinationJNDIName="imagictv.platform.ToolkitRequestQueue"
InitialContextFactory="weblogic.jndi.WLInitialContextFactory" Name="Target
JMS Bridge Destination"/>
Any help would be greatly appreciated. Thank you in advance for your help.
Sincerely,
Jeff
I tried your suggestion and it worked!! The only thing is, it
makes the deployment of the resource adapter a little more
complicated. Now my customers are going to have to edit their
config.xml, instead of just dropping in the appropriate rar into
the applications directory. But one nice side affect of placing
the rar's in a different directory is it makes the Message
Bridge a little more stable. I was finding it to be very
unstable. One time I would startup my Application Server and
everything was fine, then I would shutdown. The next time I
started it up, I would get exceptions. I have yet to see that
behavior with this new configuration.
Thanks again for all of your help, it is greatly appreciated!!
Jeff
Dongbo Xiao <[email protected]> wrote:
>Looks like that somehow you have the adapter deployed
>multiple times, may not be intended. The cause is that
>everything in the application directory will be automatically
>deployed and all of them are added to the config.xml. During
>the next boot, those appear in the config.xml will be deployed and
>everything in the application directory too. As a result, the adapters
>are deployed twice. The complain about runtime mbean not found may
>mean the one that is overridden by the new one.
>
>The work around is not to put your adapters in the application
>directory, instead, put them in a different directory and point to
>the directory in your config.xml.
>
>Dongbo
>Jeff wrote:
>>
>> One more thing...
>> I noticed that the exception specified that it couldn't find
>> mydomain:Location=myserver,Name=jms-xa-
>> adp_Pool_1,ServerRuntime=myserver,Type=ConnectorConnectionPoolRun
>> time MBean, but what's interesting that if I run the following
>> java weblogic.Admin GET -type ConnectorConnectionPoolRuntime -
>> property ActiveConnectionsCurrentCount -url
>> http://localhost:7001 -username xxxx -password xxxx I get the
>> following output:
>>
>> {MBeanName="mydomain:Location=myserver,Name=jms-xa-
>> adp_Pool_3,ServerRuntime=myse
>> rver,Type=ConnectorConnectionPoolRuntime"{ActiveConnectionsCurren
>> tCount=0}}
>> {MBeanName="mydomain:Location=myserver,Name=jms-notran-
>> adp_Pool_2,ServerRuntime=
>> myserver,Type=ConnectorConnectionPoolRuntime"{ActiveConnectionsCu
>> rrentCount=0}}
>>
>> So from that...it looks like the MBean is there. Any ideas why it
>is not being
>> found?
>>
>> Thanks,
>>
>> Jeff
>>
>> "Jeff" <[email protected]> wrote:
>> >
>> >
>> >
>> >Thank you very much!!
>> >
>> >I tried your suggestions and created a general Queue Connection Factory
>> >within
>> >MQSeries. Then I setup my MQSeries JMS Bridge Destination to use
>the
>> >jms-notrans-adp.rar
>> >resource adapter. With this configuration, I can send messages to
>MQSeries
>> >and
>> >they get forwarded to Weblogic.
>> >
>> >But, if I create a XAQueueConnectionFactory within MQSeries I cannot
>> >get the bridge
>> >working at all. I realize that MQSeries has a bug with Transactions
>> >and remote
>> >servers, but I have MQSeries and Weblogic running on the same machine.
>> > I thought
>> >I could setup an XAConnectionFactory in MQSeries, set the MQSeries
>JMS
>> >Bridge
>> >Destination to use the jms-xa-adp.rar and specify Exactly-once QOS
>and
>> >it should
>> >work? I tried it and it didn't work. ( see attachment for weblogic.log
>> >showing
>> >exception ).
>> >
>> >Here is my config.xml:
>> > <MessagingBridge AsyncEnabled="false" DurabilityEnabled="false"
>> > Name="Request Messaging Bridge" QOSDegradationAllowed="true"
>> > QualityOfService="Exactly-once"
>> > SourceDestination="Source JMS Bridge Destination"
>> > TargetDestination="Target JMS Bridge Destination" Targets="myserver"/>
>> > <JMSBridgeDestination
>> > ConnectionFactoryJNDIName="imagictv.platform.ToolkitRequestCF"
>> > ConnectionURL="t3://localhost:7001"
>> > DestinationJNDIName="imagictv.platform.ToolkitRequestQueue"
>Name="Target
>> >JMS Bridge Destination"/>
>> > <JMSBridgeDestination
>> > AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
>> > ConnectionFactoryJNDIName="MQTestConnectionFactory"
>> > ConnectionURL="file:/C:/Develop/app_servers/WebSphere/MQSeries"
>> > DestinationJNDIName="MQTestQueue"
>> > InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
>> >Name="Source
>> >JMS Bridge Destination"/>
>> >
>> >Again, thank you very much for your response. It helped me a great
>deal.
>> > Any
>> >thoughts on the above problem please foward them along.
>> >
>> >Oh...and to answer the question posed to me, yes the CR081511_61sp3.jar
>> >file is
>> >dated 8/13/2002
>> >
>> >
>> >Sincerely,
>> >
>> >Jeff
>> >
>> >Dongbo Xiao <[email protected]> wrote:
>> >>Please see my comments inline.
>> >>
>> >>
>> >>Jeff wrote:
>> >>>
>> >>> Hi,
>> >>> I'm really struggling with getting the Message Bridge working with
>> >>Weblogic 6.1
>> >>> sp3 and MQSeries 5.2. Currently I have both installed on the same
>> >>Windows 2000
>> >>> machine. First I'll pose some questions that I have, then I discuss
>> >>the error
>> >>> I'm getting. Here are my questions:
>> >>>
>> >>> 1. With the jms-xa-adp.rar there is a ra.xml and a weblogic-ra.xml.
>> >> Within the
>> >>> ra.xml deployment descriptor there are config-properties for ConnectionURL,
>> >>InitialContextFactory,
>> >>> ConnectionFactoryJNDI, and DestinationType. If my MQSeries Queue
>> >is
>> >>the source
>> >>> jms destination bridge and my weblogic queue is the target jms
>destination
>> >>bridge,
>> >>> what values do I set for the listed config-properties? I can't
>seem
>> >>to find any
>> >>> documentation on what these values should be. Am I missing something?
>> >> Do these
>> >>> values even have to be set?
>> >>>
>> >>
>> >>You DON'T have to do anything to the adapter deployment descriptor
>> >>files.
>> >>The values given there for the listed config-properties are just
>default
>> >>values.
>> >>The values configured in JMSBridgeDestination instances are the values
>> >>used to
>> >>override the default values in the dd file.
>> >>
>> >>> 2. When I go to install a Weblogic instance to a different physical
>> >>machine what
>> >>> has to be installed in terms of MQSeries? So I'll have MQSeries
>on
>> >>physical machineA
>> >>> and Weblogic on a different physical machineB. I want machineA
>to
>> >>forward all
>> >>> messages placed on a MQSeries Queue to forward them to machineB
>where
>> >>the weblogic
>> >>> Queue resides. Does machineB also have to contain an MQSeries
>installation?
>> >>> Or can I just grab the necessary libraries and jar files and place
>> >>them on the
>> >>> Weblogic machineB so they can be included?
>> >>>
>> >>
>> >>You don't have to install MQSeries on the machine that the WebLogic
>> >>server is running. You need the necessary libraries and jar files
>> >>though.
>> >>
>> >>> 3. Is it correct that if I distribute Weblogic onto one physical
>server
>> >>and MQSeries
>> >>> onto a different physical server that I cannot use Exactly-once
>quality
>> >>of service?
>> >>>
>> >>
>> >>That is correct and it is a MQSeries transaction limitation.
>> >>
>> >>> Other notes:
>> >>> 1. I have the following patches installed for Weblogic 6.1 sp3:
>> >>> CR081404_610sp3.jar
>> >>> CR081511_61sp3.jar
>> >>>
>> >>
>> >>What version of CR081511_61sp3.jar you have? You need the one dated
>> >on
>> >>8/13/2002.
>> >>
>> >>> 2. Here is the commands I used to create my ConnectionFactory
>and
>> >>Queue within
>> >>> MQSeries:
>> >>> def xaqcf(MQTestConnectionFactory) qmanager(QM_jeff)
>> >>> def q(MQTestQueue) qmanager(QM_jeff) queue(default)
>> >>>
>> >>
>> >>The only possible error I see here is that you create a xaqcf while
>> >your
>> >>bridge
>> >>is configured to have "Atmost-once" QOS. The bridge adapter will
>create
>> >>XASession
>> >>if the connection factory is xa because it knows nothing about QOS
>of
>> >>the bridge.
>> >>As I said, there is a limitation in MQSeries transactions, which
>prevent
>> >>the
>> >>transaction to happen between remote servers. Although the bridge
>does
>> >>not
>> >>start the the transaction in your case, but MQSeries xa connection
>> >>factory may
>> >>throw error when it detects the other side is remote. Having said
>that,
>> >>I am not
>> >>completely sure this is the problem caused the bridge to fail. I
>suggest
>> >>you use
>> >>a non-xa connection factory on the MQSeries side and see if the problem
>> >>goes away.
>> >>
>> >>> Okay...here is my error:
>> >>>
>> >>> <21-Aug-02 11:08:34 ADT AM> <Error> <MessagingBridge> <Error occurred
>> >>in bridge
>> >>> "Messaging Bridge" during transferring messages (java.lang.Exception:
>> >>java.lang.
>> >>> reflect.UndeclaredThrowableException: java.lang.reflect.InvocationTargetException:
>> >>> javax.resource.ResourceException: Error creating consumer or receiving
>> >>message
>> >>> at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1086)
>> >>> at weblogic.jms.adapter.JMSBaseConnection.receiveInternal(JMSBaseConnection.java:774)
>> >>> at weblogic.jms.adapter.JMSBaseConnection.receiveCommon(JMSBaseConnection.java:656)
>> >>> at weblogic.jms.adapter.JMSBaseConnection.receive(JMSBaseConnection.java:811)
>> >>> at weblogic.jms.adapter.JMSConnectionHandle.receive(JMSConnectionHandle.java:111)
>> >>> at java.lang.reflect.Method.invoke(Native Method)
>> >>> at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:60)
>> >>> at $Proxy82.receive(Unknown Source)
>> >>> at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1215)
>> >>> at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:854)
>> >>> at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.
>> >>>
>> >>
>> >>The latest patch CR081511_61sp3.jar (dated on 8/13/2002) will expose
>> >>more error
>> >>information.
>> >>
>> >>> Has anyone see this error before? Here is part of my ra.xml file....I
>> >>just put
>> >>> these entries in to see what happens:
>> >>>
>> >>> <config-property>
>> >>> <config-property-name>ConnectionURL</config-property-name>
>> >>> <config-property-type>java.lang.String</config-property-type>
>> >>> <config-property value>file:/C:/Develop/app_servers/WebSphere/MQSeries</config-property-value>
>> >>> </config-property>
>> >>>
>> >>> <config-property>
>> >>> <config-property-name>InitialContextFactory</config-property-name>
>> >>> <config-property-type>java.lang.String</config-property-type>
>> >>> <config-property-value>com.sun.jndi.fscontext.RefFSContextFactory</config-property-value>
>> >>> </config-property>
>> >>>
>> >>> <config-property>
>> >>> <config-property-name>ConnectionFactoryJNDI</config-property-name>
>> >>> <config-property-type>java.lang.String</config-property-type>
>> >>> <config-property-value>MQTestConnectionFactory</config-property-value>
>> >>> </config-property>
>> >>>
>> >>> <config-property>
>> >>> <config-property-name>DestinationJNDI</config-property-name>
>> >>> <config-property-type>java.lang.String</config-property-type>
>> >>> <config-property-value>MQTestQueue</config-property-value>
>> >>> </config-property>
>> >>>
>> >>> <config-property>
>> >>> <config-property-name>DestinationType</config-property-name>
>> >>> <config-property-type>java.lang.String</config-property-type>
>> >>> <config-property-value></config-property-value>
>> >>> </config-property>
>> >>>
>> >>> <config-property>
>> >>> <config-property-name>AdapterType</config-property-name>
>> >>> <config-property-type>java.lang.String</config-property-type>
>> >>> <config-property-value>XATransaction</config-property-value>
>> >>> </config-property>
>> >>>
>> >>
>> >>As I said earlier, you are not supposed to change the adapter dd
>file.
>> >>
>> >>
>> >>> Here is a snip of my config.xml:
>> >>>
>> >>> <MessagingBridge AsyncEnabled="false" DurabilityEnabled="false"
>> >>> Name="Messaging Bridge" QualityOfService="Atmost-once"
>> >>> SourceDestination="Source JMS Bridge Destination"
>> >>> TargetDestination="Target JMS Bridge Destination" Targets="myserver"/>
>> >>> <JMSBridgeDestination
>> >>> AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
>> >>> ConnectionFactoryJNDIName="MQTestConnectionFactory"
>> >>> ConnectionURL="file:/C:/Develop/app_servers/WebSphere/MQSeries"
>> >>> DestinationJNDIName="MQTestQueue" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
>> >>> Name="Source JMS Bridge Destination"/>
>> >>>
>> >>> <JMSBridgeDestination
>> >>> AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
>> >>> ConnectionFactoryJNDIName="imagictv.platform.ToolkitRequestCF"
>> >>> ConnectionURL="t3://localhost:7001"
>> >>> DestinationJNDIName="imagictv.platform.ToolkitRequestQueue"
>> >>> InitialContextFactory="weblogic.jndi.WLInitialContextFactory"
>Name="Target
>> >>> JMS Bridge Destination"/>
>> >>>
>> >>
>> >>Your configuration of the bridge and bridge destinations look fine.
>> >
>> >>The last thing is that you have to put MQSeries stuff in your CLASSPATH
>> >>and PATH for starting the WebLogic server that the bridge is running
>> >>on.
>> >>
>> >>You can also turn on debug for more information.
>> >>-Dweblogic.Debug.DebugMessagingBridgeStartup=true
>> >>-Dweblogic.Debug.DebugMessagingBridgeRuntime=true
>> >>
>> >>
>> >>Thanks,
>> >>Dongbo
>> >
-
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…. -
MQ Series, Messaging Bridge, weblogic 7.0
Hi all,
I have seen other postings about this with some clues as to why I am having this
problem, but I still can't seem to resolve. I have already tried to gleen some
clues from the documentation that comes with the beta bridge to be used with 6.1
(wls_mqseries.pdf). Has anyone configure Weblogic 7.0 successfully with the new
Messaging Bridge? If so, could you summarize your steps and settings?
I used the JMSAdmin tool to bind the factory and queue objects and setup the destinations
on the WLS console, but the log keeps spitting out the following:
<Jul 26, 2002 11:28:21 AM EDT> <Warning> <Connector> <190032> << Weblogic Messag
ing Bridge Adapter (XA) > ResourceAllocationException of javax.resource.Resource
Exception: Failed to start the connection on createManagedConnection.>
javax.resource.spi.ResourceAllocationException: CreateManagedConnection Error:
F
ailed to start the connection
at weblogic.connector.common.internal.ConnectionPool.makeResources(Conne
ctionPool.java:993)
at weblogic.connector.common.internal.ConnectionPool.getConnection(Conne
ctionPool.java:1762)
at weblogic.connector.common.internal.ConnectionPoolManager.getConnectio
n(ConnectionPoolManager.java:163)
at weblogic.connector.common.internal.ConnectionManagerImpl.allocateConn
ection(ConnectionManagerImpl.java:25)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getSourceConnection(JMS
BaseConnectionFactory.java:97)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(Messaging
Bridge.java:699)
at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.
java:899)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
<Jul 26, 2002 11:28:21 AM EDT> <Error> <Connector> <190006> <Error granting conn
ection request.>
<Jul 26, 2002 11:28:21 AM EDT> <Info> <MessagingBridge> <200042> <Bridge "MQ Ser
ies Bridge" failed to connect to the source destination and will try again in
55
seconds. (javax.resource.spi.ResourceAllocationException: CreateManagedConnecti
on Error: Failed to start the connection)>
I can only tell that at startup, WLS is trying to establish a connection. Question:
Connection to what? I haven't specified an MQ Series host or Queue Manager name
anywhere yet.
Thanks for your help,
Mike Wright
Tom,
Thanks. The white paper seemed to have the info I needed.
Now I just need to figure out why the lookup of the MQ objects return javax.naming.Reference
rather than the actual object. I do have the ibm jar files in the classpath.
Thanks,
Mike
Tom Barnes <[email protected]> wrote:
>Have you read through the latest integrating foreign providers white-paper?
> It is
>available on dev2dev, or you can find it here:
>http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=article&group=weblogic.developer.interest.jms&item=9364&utag=
>
>Tom
>
>Mike Wright wrote:
>
>> Dongbo,
>>
>> I'm sorry, I didn't want to mislead you to think I didn't read the
>docs prior
>> to posting the question. I do have the bridge and both destinations
>defined.
>> Here are the settings I am using for the "source" destination.
>>
>> Name: MQJMS Bridge Destination Source
>> Adapter JNDI Name: eis.jms.WLSConnectionFactoryJNDIXA
>> Adapter Classpath:
>>
>> Connection URL: t3://10.9.0.21:9003
>> Initial Context Factory: weblogic.jndi.WLInitialContextFactory
>> Connection Factory JNDI Name: mqConnectionFactory
>> Destination JNDI Name: mqDestSource
>> Destination Type: Queue
>>
>> User Name:
>>
>> Using the JMSAdmin tool, I defined the connection factory and queue
>objects which
>> were bound to the JNDI tree, obviously.
>> In order to connect using the IBM connection factory, you have to get
>an instance
>> of it and call the setter methods to specify the host, port, mode,
>channel, etc.
>> etc. Is weblogic trying to make a connection to MQ Series? How would
>Weblogic
>> know these settings without specifying anywhere?
>>
>> IBM connection factory: com.ibm.mq.jms.MQQueueConnectionFactory
>> IBM Queue: com.ibm.mq.jms.MQQueue
>>
>> Thanks,
>>
>> Mike
>>
>> "Dongbo Xiao" <[email protected]> wrote:
>> >Please see my comments inline.
>> >
>> >"Mike Wright" <[email protected]> wrote in message
>> >news:[email protected]...
>> >>
>> >> Hi all,
>> >>
>> >> I have seen other postings about this with some clues as to why
>I am
>> >having this
>> >> problem, but I still can't seem to resolve. I have already tried
>to
>> >gleen
>> >some
>> >> clues from the documentation that comes with the beta bridge to
>be
>> >used
>> >with 6.1
>> >> (wls_mqseries.pdf). Has anyone configure Weblogic 7.0 successfully
>> >with
>> >the new
>> >> Messaging Bridge? If so, could you summarize your steps and settings?
>> >>
>> >
>> >Here is the online doc
>> >http://edocs.bea.com/wls/docs70/adminguide/msgbridge.html
>> >
>> >
>> >> I used the JMSAdmin tool to bind the factory and queue objects and
>> >setup
>> >the destinations
>> >> on the WLS console, but the log keeps spitting out the following:
>> >>
>> >> <Jul 26, 2002 11:28:21 AM EDT> <Warning> <Connector> <190032> <<
>Weblogic
>> >Messag
>> >> ing Bridge Adapter (XA) > ResourceAllocationException of
>> >javax.resource.Resource
>> >> Exception: Failed to start the connection on createManagedConnection.>
>> >> javax.resource.spi.ResourceAllocationException: CreateManagedConnection
>> >Error:
>> >> F
>> >> ailed to start the connection
>> >> at
>> >weblogic.connector.common.internal.ConnectionPool.makeResources(Conne
>> >> ctionPool.java:993)
>> >> at
>> >weblogic.connector.common.internal.ConnectionPool.getConnection(Conne
>> >> ctionPool.java:1762)
>> >> at
>> >weblogic.connector.common.internal.ConnectionPoolManager.getConnectio
>> >> n(ConnectionPoolManager.java:163)
>> >> at
>> >weblogic.connector.common.internal.ConnectionManagerImpl.allocateConn
>> >> ection(ConnectionManagerImpl.java:25)
>> >> at
>> >weblogic.jms.adapter.JMSBaseConnectionFactory.getSourceConnection(JMS
>> >> BaseConnectionFactory.java:97)
>> >> at
>> >weblogic.jms.bridge.internal.MessagingBridge.getConnections(Messaging
>> >> Bridge.java:699)
>> >> at
>> >weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.
>> >> java:899)
>> >> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
>> >> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
>> >> <Jul 26, 2002 11:28:21 AM EDT> <Error> <Connector> <190006> <Error
>> >granting conn
>> >> ection request.>
>> >> <Jul 26, 2002 11:28:21 AM EDT> <Info> <MessagingBridge> <200042>
><Bridge
>> >"MQ Ser
>> >> ies Bridge" failed to connect to the source destination and will
>try
>> >again
>> >in
>> >> 55
>> >> seconds. (javax.resource.spi.ResourceAllocationException:
>> >CreateManagedConnecti
>> >> on Error: Failed to start the connection)>
>> >>
>> >> I can only tell that at startup, WLS is trying to establish a connection.
>> >Question:
>> >> Connection to what? I haven't specified an MQ Series host or Queue
>> >Manager name
>> >> anywhere yet.
>> >>
>> >
>> >As you can see from the doc I mentioned earlier, you have to configure
>> >the
>> >source
>> >and the target of the bridge (as two JMSBridgeDestination instances)
>> >and the
>> >bridge itself (as a MessagingBridge instance). In the JMSBridgeDestination
>> >instance,
>> >you have to specify a couple of attributes, including url, initial
>context
>> >factory,
>> >connection factory JNDI, destination JNDI and destination type.
>> >
>> >I don't know what you configured from the console, but the bridge
>instance
>> >tried to connect to the source destination. Again, I don't know what
>> >is the
>> >source
>> >you configured, therefore not sure if the bridge was trying to connect
>> >to
>> >MQSeries or WLS JMS.
>> >
>> >Hope this helps.
>> >Dongbo
>> >
>> >
>
Maybe you are looking for
-
What is the best Business tax software to use on MACs
What is the best Business tax software to use on MACs?
-
What's the point on using KF in addition when loading datastore objects?
Hi all, i'd like to know why sometimes KFs are uploaded in addition even when loading a dso. I mean, when KF are all in overwrite it's easier to do a full repair request if something goes wrong or you are loading a new field in BW, so why some KFs ar
-
Using lightroom on desktop PC and laptop computer
When I'm out in the field, I take my laptop and download images to my laptop, triage photos, assign ratings and categories. When I get back home, I want to transfer this information to my main PC which has a giant, backed up harddrive. I also occaisi
-
Hi, I am confused on how this work. My concern is regarding lobby administratoion, when the lobby administrator generate a guest login , he/she there is no option to send or print the Guest login. Is there any additional appliance or application I
-
Which cable to i need? nokia7373
i am trying to get hold of a cable to connect my phone to pc so that i can download music from pc to phone. can anyone tell me which one i need for the nokia7373? thankyou