CONM6000W occurs during transaction processing in WebSphere Application Server v4.0.x
 Technote (FAQ)
 
Problem
"CONM6000W: A resource was unable to process the two phase commit prepare request as it only supports the one phase commit protocol. The datasource was: <datasource name>" errors precede javax.transaction.TransactionRolledbackExceptions in the stdout.log
 
Cause
The CONM6000W error is due to multiple user IDs being accessing the database from within a single transaction.
 
Solution
A possible scenario where this could occur is:
  • The database server is configured to allow two user IDs (userid1 and userid2) to access a particular application database.
  • The datasource configured in WebSphere® uses userid1.
  • The application obtains the user ID information from a properties file. This properties file contains userid2.

The CONM6000W error can occur if userid1 and userid2 are not the same. The application developer has the option of providing the user ID and password information on the getConnection(String userid, String password) call. If no user ID and password is passed on the getConnection( ), the datasource configuration in WebSphere Application Server is used to provide the user ID and password.

In the example above, userid1 and userid2 are not the same. If, in a transaction, both the getConnection( ) and getConnection userid2, password2) are used, it can result in a CONM6000W error.

To avoid this problem, make sure that within a transaction, all connections made to a particular database use the same user ID and password.
 
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > DB Connections/Connection Pooling
Operating system(s): Windows
Software version: 4.0.7
Software edition:
Reference #: 1169996
IBM Group: Software Group
Modified date: Mar 31, 2006