javax.transaction.SystemException: Heuristic hazard


My application is currently running on Weblogic7.01,HP-UX and Oracle9i.

I got the following error:

####<Nov 22, 2004 2:18:44 PM GMT+08:00> <Error> <EJB> <db> <myserver> <ExecuteThread: '4' for queue: 'default'>
 <kernel identity> <> <010025> <Exception during rollback of transaction 368:8f1c3b477f28edb9: javax.transaction.SystemException: Heuristic hazard: (weblogic.jdbc.jts.Connection, HeuristicHazard, (javax.transaction.xa.XAEx
ception: Io exception: Broken pipe))
        at weblogic.transaction.internal.ServerTransactionImpl.internalRollback(
        at weblogic.transaction.internal.ServerTransactionImpl.rollback(
        at weblogic.ejb20.internal.BaseEJBObject.postInvoke(
        at Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(
        at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(
        at weblogic.rmi.internal.BasicServerRef$
        at weblogic.rmi.internal.BasicServerRef.handleRequest(
        at weblogic.rmi.internal.BasicExecuteRequest.execute(
        at weblogic.kernel.ExecuteThread.execute(

Could anybody help me for this problem?

Thinks in Advance.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

According to BEA's documentation, the jDriver is deprecated (no longer supported) in WLS 7 SP5. Not sure when they stopped supporting it, but sometime after SP2,apparently.

if you are using TwoPhaseCommitEnabled="true" in the TXDataSource definition then change it and try again.
cocreateAuthor Commented:
thanks for your answer,but I need to useTwoPhaseCommitEnabled="true" in the TxDataSource definition.

what do I need to do?

if you want to use this option ---> EnableTwoPhaseCommit=true

Admin Console field label: Emulate Two-Phase Commit for non-XA Driver
Default: false

When set to true, this attribute allows non-XA JDBC drivers to emulate participation in distributed transactions using JTA.

Use this option if the JDBC connection is the only participant in the transaction and there is no XA compliant JDBC driver available. With more than one resource participating in a transaction where one of them (the JDBC driver) is emulating an XA resource, you may see heuristic failures.

If this TxDataSource is associated with an XA connection pool, or if there is only one resource participating in the distributed transaction, then this setting is ignored.


<JDBCTxDataSource  DeploymentOrder="number"  
EnableTwoPhaseCommit=( "true" | "false" )  
RowPrefetchEnabled=( "true" | "false" )  
StreamChunkSize="number of bytes"  
Targets="list of Target names"/>

i hope this may help you...
best of luck...


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
For more info refer this documentation...

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java App Servers

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.