Discussion:
Issue with WebSphere Application Server 5.1 and Embedded JMS - "An illegal attempt to commit a one phase capable resource with existing two phase capable resources has occurred"
(too old to reply)
Dana DuBois
2004-01-07 23:28:20 UTC
Permalink
Can anyone out there shed some light on this issue? Basically I
attempting to run a Message Driven Bean with WebSphere's Embedded JMS
provider and I am getting the following error:


[1/7/04 18:08:09:264 EST] 2cca8182 RegisteredRes E WTRN0063E: An
illegal attempt to commit a one phase capable resource with existing
two phase capable resources has occurred.
[1/7/04 18:08:09:462 EST] 2cca8182 ServerSession W WMSG0031E:
Exception processing JMS Message for MDB IncomingRequestMDB,
JMSDestination queue/IncomingReq :
javax.ejb.TransactionRolledbackLocalException: ; nested exception is:
com.ibm.ws.exception.WsEJBException
com.ibm.ws.exception.WsEJBException
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:159)
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3128)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
javax.ejb.TransactionRolledbackLocalException: ; nested exception is:
com.ibm.ws.exception.WsEJBException
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java:96)
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:165)
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3128)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

[1/7/04 18:08:09:557 EST] 2cca8182 ServerSession W WMSG0036E: Maximum
message delivery retry count of 0 reached for MDB IncomingRequestMDB,
JMSDestination queue/IncomingReq, MDBListener stopped
ggosseyn
2004-01-08 10:51:33 UTC
Permalink
Hello,

In InfoCenter :
WTRN0063E: An illegal attempt to enlist a one phase capable resource with
existing two phase capable resources has occurred.

Explanation: The transaction service has refused an attempt to enlist a one
phase capable resource with a transaction already involving other two phase
capable resources, as the application does not accept the heuristic risk
that this would involve.

User Response: Ensure that one and two phase capable resources are not
involved in the same transaction, or reconfigure the application to accept
the heuristic risk that this would involve.



Always in InfoCenter :

One-phase commit and two-phase commit resources
One-phase commit resources are such that work being done on a one phase
connection cannot mix with other connections and ensure that the work done
on all of the connections completes or fails atomically . The product does
not allow more than one one-phase commit connection in a global transaction.
Futhermore, it does not allow a one-phase commit connection in a global
transaction with one or more two-phase commit connections. You can
coordinate only multiple two-phase commit connections within a global
transaction.

Note that any time you do multiple getConnection calls using a resource
reference that specifies res-sharing-scope=Unshareable , then you get
multiple physical connections. This situation also occurs when
res-sharing-scope=Shareable but the sharing rules are broken. In either
case, if you run in a global transaction, ensure the resources involved are
enabled for two-phase commit (also sometimes referred to as JTA Enabled).
Failure to do so results in an XAException that logs the following message:
WTRN0063E: An illegal attempt to enlist a one phase capable resource with
existing two phase capable resources has occurred.


-> give more details (ejb-jar.xml, XA option on JMS connection factory,
etc.) if you need more help.

Bye.
Post by Dana DuBois
Can anyone out there shed some light on this issue? Basically I
attempting to run a Message Driven Bean with WebSphere's Embedded JMS
[1/7/04 18:08:09:264 EST] 2cca8182 RegisteredRes E WTRN0063E: An
illegal attempt to commit a one phase capable resource with existing
two phase capable resources has occurred.
Exception processing JMS Message for MDB IncomingRequestMDB,
com.ibm.ws.exception.WsEJBException
com.ibm.ws.exception.WsEJBException
at
com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExcept
ionMappingStrategy.java:159)
Post by Dana DuBois
at
com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledB
ackException(LocalExceptionMappingStrategy.java:293)
Post by Dana DuBois
at
com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3128)
Post by Dana DuBois
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at
com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
Post by Dana DuBois
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
com.ibm.ws.exception.WsEJBException
at
com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExc
eptionMappingStrategy.java:96)
Post by Dana DuBois
at
com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExcept
ionMappingStrategy.java:165)
Post by Dana DuBois
at
com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledB
ackException(LocalExceptionMappingStrategy.java:293)
Post by Dana DuBois
at
com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3128)
Post by Dana DuBois
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at
com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
Post by Dana DuBois
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
[1/7/04 18:08:09:557 EST] 2cca8182 ServerSession W WMSG0036E: Maximum
message delivery retry count of 0 reached for MDB IncomingRequestMDB,
JMSDestination queue/IncomingReq, MDBListener stopped
Loading...