Author |
Message
|
iperel1977 |
Posted: Tue Sep 12, 2006 6:44 am Post subject: Invalid DestinationException in Weblogic MDB via Foreign JMS |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
Hi,
I setup Foreign JMS provider in Weblogic 8.1 SP4 to connect to MQ 5.3.
I am getting this exception from MDB:
weblogic.jms.common.InvalidDestinationException: Foreign destination, queue:///SOE.SOI?persistence=2
I am able to resolve queue and factory from WL JNDI and receive messages via JMS client, but not MDB.
Please help! |
|
Back to top |
|
 |
vennela |
Posted: Tue Sep 12, 2006 7:01 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
I don't know how they configure MDB in WebLogic, but somewhere you should also be specifying the QueueConnectionFactory right? Have you done that? |
|
Back to top |
|
 |
iperel1977 |
Posted: Tue Sep 12, 2006 8:29 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
Foreign JMS Provider configuration defines connection factory and queue that are looked up via JNDI from MQ JNDI |
|
Back to top |
|
 |
iperel1977 |
Posted: Wed Sep 13, 2006 5:36 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
WE fixed the problem, in Weblogic in MDB Conenction fActory JNDI name was not specified however now we are getting javax.transaction.SystemException: Heuristic hazard exception after receiving a message:
####<Sep 13, 2006 8:28:19 AM CDT> <Error> <JTA> <pkdh0820.corp.intranet> <soiserver> <ExecuteThread: '0' for queue: 'weblogic.ejb20.internal.JMSMessagePoller'> <<WLS Kernel>> <BEA1-000FE0EBDDADEAC5443E> <BEA-110412> <Name=JMSMessagePoller.ForeignJMSProvider MDB Test,Xid=BEA1-000FE0EBDDADEAC5443E(31516805),Status=Rolled back. [Reason=Unknown],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds left=329970,activeThread=Thread[ExecuteThread: '0' for queue: 'weblogic.ejb20.internal.JMSMessagePoller',5,Thread Group for Queue: 'weblogic.ejb20.internal.JMSMessagePoller'],XAServerResourceInfo[weblogic.ejb20.JMSConnectionPoller.ForeignJMSProvider MDB Test]=(ServerResourceInfo[weblogic.ejb20.JMSConnectionPoller.ForeignJMSProvider MDB Test]=(state=rolledback,assigned=soiserver),xar=weblogic.deployment.jms.WrappedXAResource_com_ibm_mq_MQXAResource@72c796,re-Registered = false),SCInfo[soi81+soiserver]=(state=rolledback),properties=({weblogic.transaction.name=JMSMessagePoller.ForeignJMSProvider MDB Test}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=soiserver+10.206.98.45:7001+soi81+t3+, XAResources={},NonXAResources={})],CoordinatorURL=soiserver+10.206.98.45:7001+soi81+t3+) completed heuristically: (weblogic.ejb20.JMSConnectionPoller.ForeignJMSProvider MDB Test, HeuristicHazard, (javax.transaction.xa.XAException: XA operation failed, see errorCode)) >
####<Sep 13, 2006 8:28:19 AM CDT> <Error> <EJB> <pkdh0820.corp.intranet> <soiserver> <ExecuteThread: '0' for queue: 'weblogic.ejb20.internal.JMSMessagePoller'> <<WLS Kernel>> <> <BEA-010079> <An error occurred while attempting to receive a message from JMS for processing by a message-driven bean: javax.transaction.SystemException: Heuristic hazard: (weblogic.ejb20.JMSConnectionPoller.ForeignJMSProvider MDB Test, HeuristicHazard, (javax.transaction.xa.XAException: XA operation failed, see errorCode))
The exception is : javax.transaction.SystemException: Heuristic hazard: (weblogic.ejb20.JMSConnectionPoller.ForeignJMSProvider MDB Test, HeuristicHazard, (javax.transaction.xa.XAException: XA operation failed, see errorCode))
at weblogic.transaction.internal.ServerTransactionImpl.internalRollback(ServerTransactionImpl.java:398)
at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:364)
at weblogic.ejb20.internal.JMSMessagePoller.processOneMessage(JMSMessagePoller.java:305)
at weblogic.ejb20.internal.JMSMessagePoller.pollContinuously(JMSMessagePoller.java:334)
at weblogic.ejb20.internal.JMSMessagePoller.pollForParent(JMSMessagePoller.java:450)
at weblogic.ejb20.internal.JMSMessagePoller.execute(JMSMessagePoller.java:466)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
> |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 13, 2006 5:57 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can't use an XA connection on a remote queue manager. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
iperel1977 |
Posted: Wed Sep 13, 2006 5:59 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
Weblogic and MQ Series are located on the same Unix box |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 13, 2006 6:09 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You are getting an XA error.
Are you defining a bindings connection or a client connection? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
iperel1977 |
Posted: Wed Sep 13, 2006 6:12 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
We are using Foreign JMS Provider defined in Weblogic, I am guessing behind the scenes it is doing binding connection, since we do not specify any client connection properties, it resolves the queue via JNDI lookup. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 13, 2006 6:13 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
What is the configuration for the QCF in the JNDI? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
iperel1977 |
Posted: Wed Sep 13, 2006 6:17 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
The interesting part is that MDB is able to receive the messages, the Exception is raised when Weblogic is polling the queue and queue is empty. What configuration params are you looking for XA connection factory in MQ JNDI? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 13, 2006 6:20 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
What "MQ JNDI"?
What are the properties of the Queue Connection Factory? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
iperel1977 |
Posted: Wed Sep 13, 2006 6:22 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
The way we resolve MQ connection factory is:
Use JMSAdmin utility provided by MQ to register Queue Connection Factory in JNDI, then setup Foreign JMS Proivder in Weblogic to resolve Queue Conenction factory in JNDI via lookup name (no properties) |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 13, 2006 6:26 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Okay.
Let me try once more.
In JMSAdmin, what is the result of "dis qcf(*)"?
Or to put it another way, in JMS admin, what properties did you configure when you said "Define qcf"? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
iperel1977 |
Posted: Wed Sep 13, 2006 6:57 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2006 Posts: 8
|
Jeff,
Thank you for your help!
We just got a patch from BEA related to WL 8.1 sp4 and MQ 5.3 CSD12 addressing out particular issue CR 269661 |
|
Back to top |
|
 |
|