Tuesday, August 17, 2010

Error updating Domain Index.The method setAutoCommit(true) cant be called when a global transaction is active

You were on SOA Suite 10.1.3.5 and you recently upgraded to MLR#1

Now when you are trying to create a new domain or trying to delete a domain

you are getting following error

Error Message:

Operation failed because:

Error updating domain index.
An exception occurred while writing the domain index (id"default", ref "2") to the datastore; the exception reported is: The method 'setAutoCommit(true)' cant be called when a global transaction is active.
Please check that:
+ the machine hosting the datasource is physically connected to the network.
+ the connection pool properties as defined in the application server startup properties are valid.
+ the database schema for the OraBPEL server has been installed in the datasource.


The default island log says

java.sql.SQLException: The method 'setAutoCommit(true)' cant be called when a global transaction is active.


Not sure of the reason but when i checked in data-sources.xml file:

I found following entry

<managed-data-source name="BPELServerDataSourceWorkflow"
connection-pool-name="BPELPM_CONNECTION_POOL"
jndi-name="jdbc/BPELServerDataSourceWorkflow" tx-level="global"/>


I just changed the tx-level from global to local and it worked for me.

<managed-data-source name="BPELServerDataSourceWorkflow"
connection-pool-name="BPELPM_CONNECTION_POOL"
jndi-name="jdbc/BPELServerDataSourceWorkflow" tx-level="local"/>

Once you made the changes restart the server and your issue should be resolved.
This worked for me.

No comments: