The TIBCO Platform is a real-time, composable data platform that will bring together an evolving set of your TIBCO solutions - and it's available now!
A chart showing the TIBCO Platform vision
Jump to content
Forums
Ask questions and gain insight from discussions

Recommended Posts

Posted

Hi Team,

Recently I migrated Weblogic local queue to EMS server and details of the EMS queue are being configured using foreign-server in weblogic as shown below in #3: jmsmodule_definition.xml. And these details are changed in such a manner that it's local JNDI name which being referred by EJB as shown in #1: ejb-jar.xml are same and hence no change in it.

Since the EJB ProcessBean's method "invokeProcess" defined transaction type "RequiresNew", i am getting below errors when changed res-type in ejb-jar.xml for resource-ref "XYZConnectionFactory" to:

a. javax.jms.QueueConnectionFactory

Following Errors are thrown at runtime while invoking ejb method:

Unable to use a wrapped JMS session in the transaction because two-phase commit is not available at weblogic.deployment.jms.JMSExceptions.getJMSException(JMSExceptions.java:22) at weblogic.deployment.jms.WrappedTransactionalSession.enlistInExistingTransaction(WrappedTransactionalSession.java:153) at weblogic.deployment.jms.WrappedTransactionalSession.enlistInTransaction(WrappedTransactionalSession.java:211) at weblogic.deployment.jms.WrappedMessageProducer.send(WrappedMessageProducer.java:184)

 

b. javax.jms.XAQueueConnectionFactory

Following Errors are thrown at runtime while invoking ejb method:

Unable to use a wrapped JMS session in the transaction because two-phase commit is not available at weblogic.deployment.jms.JMSExceptions.getJMSException(JMSExceptions.java:22) at weblogic.deployment.jms.WrappedTransactionalSession.enlistInExistingTransaction(WrappedTransactionalSession.java:153) at weblogic.deployment.jms.WrappedTransactionalSession.enlistInTransaction(WrappedTransactionalSession.java:211) at weblogic.deployment.jms.WrappedMessageProducer.send(WrappedMessageProducer.java:184)

 

Based on the above two changesets and corresponding error, i tried to disable default wrapping in WL by using res-type as "java.lang.Object"

c. java.lang.Object

Following Errors are thrown at runtime while invoking ejb method:

: javax.jms.JMSSecurityException: Failed to connect to any server at: tcp://remote_url:32061,tcp://remote_url:32061 [Error: authentication failed: url that returned this exception = TCP://remote_url:32061 ] at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:1095) at com.tibco.tibjms.TibjmsConnection.(TibjmsConnection.java:2699) at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:195) at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:239) at com.tibco.tibjms.TibjmsConnectionFactory.createConnection(TibjmsConnectionFactory.java:36)

 

Thus, none of the above three approaches worked, i have below query:

Q. From the error #a & #b above, clearly indicates that the EMS server is not enabled for XA transaction. Is there option we can enable XA Transaction support in EMS

 

 

1. ejb-jar.xml

--------------

 

 

 

ProcessBean

xxx.*ProcessServiceHome

xxx.*ProcessServiceRemote

xxx.*ProcessServiceBean

Stateless

Container

 

 

XYZConnectionFactory

com.tibco.tibjms.TibjmsQueueConnectionFactory

Container

 

 

TMS_MATCH_QUEUE

javax.jms.Queue

Container

 

 

 

weblogic

 

 

 

 

 

 

 

ProcessBean

invokeProcess

 

RequiresNew

 

 

 

 

2.weblogic-ejb-jar.xml

------------------------

 

 

XYZConnectionFactory

jms.AutomatedQueryConnectionFactory@env_name1@

 

 

TMS_MATCH_QUEUE

jms.AUTOMATED_QUERY_QUEUE@env_name1@

 

 

 

3. jmsmodule_definition.xml

----------------------------

 

true

 

jms.AUTOMATED_QUERY_QUEUE

REMOTE_Q_NAME

 

 

jms.AutomatedQueryConnectionFactory

QueryConnectionFactory

user1

xyz

 

com.tibco.tibjms.naming.TibjmsInitialContextFactory

tcp://remote_url:32061,tcp://remote_url:32061

xyz

 

java.naming.factory.initial

com.tibco.tibjms.naming.TibjmsInitialContextFactory

 

 

java.naming.provider.url

tcp://remote_url:32061,tcp://remote_url:32061

 

 

java.naming.security.principal

user1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...