XAException, disallowLocalTxnMode
I am running weblogic 7.0 SP2 on AIX. I have an EJB with required transactions
that do selects, inserts and updates to Oracle databases and selects to DB2 databases.
We are using weblogic database pools and Tx data sources. The pools use the oci
driver to connect to Oracle and the oracle.jdbc.xa.client.OracleXADataSource driver
class.
I used to get an ERXA-PROTO error. We just got a patch from Oracle to fix this,
but we continue to get this error on a regular basis.
Any ideas what is causing this?
####<Jun 2, 2003 11:13:58 AM CDT> <Error> <EJB> <kp790055.test.kohls.com> <erAS01>
<Thread-10> <kernel identity> <> <010026> <Exception during commit of transaction
68:3d9a907ee5c96858: javax.transaction.xa.XAException:
Start server side stack trace:
javax.transaction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java(Inlined
Compiled Code))
at oracle.jdbc.xa.OracleXAResource.suspendStacked(OracleXAResource.java(Compiled
Code))
at oracle.jdbc.xa.client.OracleXAResource.prepare(OracleXAResource.java:651)
at weblogic.jdbc.jta.VendorXAResource.prepare(VendorXAResource.java:61)
at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:758)
at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResourceInfo.java(Compiled
Code))
at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResourceInfo.java(Compiled
Code))
at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java(Compiled
Code))
at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:1941)
at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:1071)
at weblogic.transaction.internal.SubCoordinatorImpl.startPrepare(SubCoordinatorImpl.java:127)
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown
Source)(Compiled Code)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java(Compiled
Code))
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java(Compiled
Code))
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java(Compiled
Code))
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
End server side stack trace
I'm assuming that you are running Oracle 9.2.0.3.
In that version, Oracle patched a problem that caused the exception for disallowLocalTxnMode
that was related strictly to recovery of the XA resource.
However, it does not fix a more generic problem that is usually an application error.
Starting in Oracle 9.2, Oracle will throw this exception if you have a local transaction
outstanding and you try to start a global transaction (or the container tries
to start a global transaction). This can occur if either you explictly start
a local transaction in the application or you do something that implicitly
starts a transaction (like executing a DDL statement, or executing any SQL
statement when not already in a transaction).
This can be difficult to track down.
One approach is to set the SupportsLocalTransaction to false on the connection pool.
If you aren't running Oracle 9.2, indicate what version you are running.
"Tania Rhinehart" <[email protected]> wrote in message news:[email protected]...
>
> I am running weblogic 7.0 SP2 on AIX. I have an EJB with required transactions
> that do selects, inserts and updates to Oracle databases and selects to DB2 databases.
>
> We are using weblogic database pools and Tx data sources. The pools use the oci
> driver to connect to Oracle and the oracle.jdbc.xa.client.OracleXADataSource driver
> class.
>
> I used to get an ERXA-PROTO error. We just got a patch from Oracle to fix this,
> but we continue to get this error on a regular basis.
>
> Any ideas what is causing this?
>
>
>
> ####<Jun 2, 2003 11:13:58 AM CDT> <Error> <EJB> <kp790055.test.kohls.com> <erAS01>
> <Thread-10> <kernel identity> <> <010026> <Exception during commit of transaction
> 68:3d9a907ee5c96858: javax.transaction.xa.XAException:
> Start server side stack trace:
> javax.transaction.xa.XAException
> at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java(Inlined
> Compiled Code))
> at oracle.jdbc.xa.OracleXAResource.suspendStacked(OracleXAResource.java(Compiled
> Code))
> at oracle.jdbc.xa.client.OracleXAResource.prepare(OracleXAResource.java:651)
> at weblogic.jdbc.jta.VendorXAResource.prepare(VendorXAResource.java:61)
> at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:758)
> at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResourceInfo.java(Compiled
> Code))
> at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResourceInfo.java(Compiled
> Code))
> at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java(Compiled
> Code))
> at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:1941)
> at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:1071)
> at weblogic.transaction.internal.SubCoordinatorImpl.startPrepare(SubCoordinatorImpl.java:127)
> at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown
> Source)(Compiled Code)
> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java(Compiled
> Code))
> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java(Compiled
> Code))
> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java(Compiled
> Code))
> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java(Compiled
> Code))
> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java(Compiled
> Code))
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
> End server side stack trace
>
Similar Messages
-
MS SQL Server problem with MDB's: javax.transaction.xa.XAException
I am programming agents in j2ee and using MDB to implement the asynchronicity of
the agents.
Those MDB's get messages (MapMessage) from a controller (an SFSB) that contain
the agent's ID and the action that the agent has to perform. The MDB creates a
SFSB, and calls the appropriate action from this session bean. Those actions require
to read and write from my MS SQL Server 2000 XA database. But when running my
program, I often get this error, which doesn't seem to affect the action, because
when I check my database data, everything is updated correctly. So the program
still completes, but the errors slow down the execution (the program hangs for
about 3 seconds, each time the error occurs).
Does anybody has an explanation or solution for this?
Thank you...
This is the error output:
onMessage()
Reading MapMessage: 1
<26-apr-2004 14.34 u. CEST> <Error> <EJB> <BEA-010026> <Exception occurred during
commit of transaction Xid=BEA1-005F88135FFBA636FFF7(15619088),Status=Rolled back.
[Reason=javax.transaction.xa.XAException: [BEA][SQLServer JDBC Driver][SQLServer]xa_prepare
(0) returns -4],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=4,seconds
left=30,XAServerResourceInfo[JMS_JMS Server2_NotDurable]=(ServerResourceInfo[JMS_JMS
Server2_NotDurable]=(state=rolledback,assigned=lucille3_ms),xar=JMS_JMS Server2_NotDurable),XAServerResourceInfo[MSSQL
Connection Pool]=(ServerResourceInfo[MSSQL Connection Pool]=(state=rolledback,assigned=lucille3_ms),xar=MSSQL
Connection Pool),SCInfo[cluster+lucille3_ms]=(state=rolledback),local properties=({}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=lucille3_ms+127.0.0.1:8001+cluster+t3+,
XAResources={},NonXAResources={})],CoordinatorURL=lucille3_ms+127.0.0.1:8001+cluster+t3+):
javax.transaction.xa.XAException: [BEA][SQLServer JDBC Driver][SQLServer]xa_prepare
(0)returns -4
at weblogic.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unknown
Source)
at weblogic.jdbcx.sqlserver.SQLServerImplXAResource.prepare(Unknown Source)
at weblogic.jdbcx.base.BaseXAResource.prepare(Unknown Source)
at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:821)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:395)
at weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:253)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Could not prepare resource 'MSSQL Connection
Pool
[BEA][SQLServer JDBC Driver][SQLServer]xa_prepare (0) returns -4 - with nested
exception:
[javax.transaction.xa.XAException: [BEA][SQLServer JDBC Driver][SQLServer]xa_prepare
(0) returns -4]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1644)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:300)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170).>
I am programming agents in j2ee and using MDB to implement the asynchronicity of
the agents.
Those MDB's get messages (MapMessage) from a controller (an SFSB) that contain
the agent's ID and the action that the agent has to perform. The MDB creates a
SFSB, and calls the appropriate action from this session bean. Those actions require
to read and write from my MS SQL Server 2000 XA database. But when running my
program, I often get this error, which doesn't seem to affect the action, because
when I check my database data, everything is updated correctly. So the program
still completes, but the errors slow down the execution (the program hangs for
about 3 seconds, each time the error occurs).
Does anybody has an explanation or solution for this?
Thank you...
This is the error output:
onMessage()
Reading MapMessage: 1
<26-apr-2004 14.34 u. CEST> <Error> <EJB> <BEA-010026> <Exception occurred during
commit of transaction Xid=BEA1-005F88135FFBA636FFF7(15619088),Status=Rolled back.
[Reason=javax.transaction.xa.XAException: [BEA][SQLServer JDBC Driver][SQLServer]xa_prepare
(0) returns -4],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=4,seconds
left=30,XAServerResourceInfo[JMS_JMS Server2_NotDurable]=(ServerResourceInfo[JMS_JMS
Server2_NotDurable]=(state=rolledback,assigned=lucille3_ms),xar=JMS_JMS Server2_NotDurable),XAServerResourceInfo[MSSQL
Connection Pool]=(ServerResourceInfo[MSSQL Connection Pool]=(state=rolledback,assigned=lucille3_ms),xar=MSSQL
Connection Pool),SCInfo[cluster+lucille3_ms]=(state=rolledback),local properties=({}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=lucille3_ms+127.0.0.1:8001+cluster+t3+,
XAResources={},NonXAResources={})],CoordinatorURL=lucille3_ms+127.0.0.1:8001+cluster+t3+):
javax.transaction.xa.XAException: [BEA][SQLServer JDBC Driver][SQLServer]xa_prepare
(0)returns -4
at weblogic.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unknown
Source)
at weblogic.jdbcx.sqlserver.SQLServerImplXAResource.prepare(Unknown Source)
at weblogic.jdbcx.base.BaseXAResource.prepare(Unknown Source)
at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:821)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:395)
at weblogic.transaction.internal.ServerSCInfo$1.execute(ServerSCInfo.java:253)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Could not prepare resource 'MSSQL Connection
Pool
[BEA][SQLServer JDBC Driver][SQLServer]xa_prepare (0) returns -4 - with nested
exception:
[javax.transaction.xa.XAException: [BEA][SQLServer JDBC Driver][SQLServer]xa_prepare
(0) returns -4]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1644)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:300)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170).>
-
Hello guys,
I have been setting a production system with bitronix transaction manager, SQL server 2008, XA transactions and jetty 6. In the beginning this software was configured to run with MySQL. But one of my customer decided to move everything to MSSQL server 2008.
In that moment I was trying to get this up and running for some weeks (The configuration was completely different) and finally I got it.
The configuration with MSSQL server was running perfectly during 1 month but then from one day to other the error message I will show now appeared and I do not how to solve it. I almost read all the hints from google about this exception but nothing helped
me out.
I hope you guys can help me to find a way to solve it.
- I tried different version of the jdbc driver 3.0 and 4.0.
- I tried to export exactly the database to my localserver and it's running perfectly with the same configuration.
The problem is that I cannot reproduce the error in other place that is not the customer and at the same time I have no access to their internal database server. They installed all the XA transaction stuff (dll in binn, enable XA, and grant the permissions
for SQLXAUser), I am quite sure because it was running for one month without any problem.
I asked to the customer if anything happenend on their server (microsoft updates, machines reboot, ...) but nothing of these happened.
Also I tried this link out but did not help me.
<a href="http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess">http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess</a>
The exception is the following:
[2014-05-15 14:06:08,842] INFO 3666[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Starting Bitronix Transaction Manager
[2014-05-15 14:06:08,951] INFO 3775[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Extract ./webapps/myscript-fpp-wrapper-server.war to D:\Temp\Jetty_0_0_0_0_8080_myscript.fpp.wrapper.server.war__myscript.form.wrapper.server__.bnwnn7\webapp
[2014-05-15 14:06:10,324] INFO 5148[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - NO JSP Support for /myscript-form-wrapper-server, did not find org.apache.jasper.servlet.JspServlet
[2014-05-15 14:06:12,742] WARN 7566[main] - org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:118) - Dozer configuration file not found: dozer.properties. Using defaults for all Dozer global properties.
[2014-05-15 14:06:13,288] WARN 8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) - SQL Error: 0, SQLState: null
[2014-05-15 14:06:13,288]ERROR 8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:101) - error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with
usage count 1 wrapping SQLServerXAConnection:1 on ProxyConnectionID:1
[2014-05-15 14:06:13,319]ERROR 8143[main] - org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:220) - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'moduleRegistration' defined in class path resource [com/visionobjects/myscript/fpp/wrapper/module-registration.xml]: Invocation of init method failed; nested exception is
org.hibernate.exception.GenericJDBCException: could not execute query
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mortbay.start.Main.invokeMain(Main.java:194)
at org.mortbay.start.Main.start(Main.java:534)
at org.mortbay.start.Main.start(Main.java:441)
at org.mortbay.start.Main.main(Main.java:119)
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2235)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
at org.hibernate.loader.Loader.list(Loader.java:2124)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
at com.visionobjects.myscript.fpp.form.dao.impl.ModuleInfoDaoImpl.getModuleInfo(ModuleInfoDaoImpl.java:57)
at com.visionobjects.myscript.fpp.ModuleRegistration$1.doInTransactionWithoutResult(ModuleRegistration.java:73)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at com.visionobjects.myscript.fpp.ModuleRegistration.init(ModuleRegistration.java:66)
at com.visionobjects.myscript.fpp.ModuleRegistration.start(ModuleRegistration.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 33 more
Caused by: java.sql.SQLException: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with usage count 1 wrapping SQLServerXAConnection:1 on ProxyConnectionID:1
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:86)
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(JdbcConnectionHandle.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
at $Proxy29.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
at org.hibernate.loader.Loader.doQuery(Loader.java:696)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2232)
... 52 more
Caused by: bitronix.tm.internal.BitronixSystemException: cannot enlist an XAResourceHolderState with uniqueName=fppDataSource XAResource= XAResourceID:1 with XID a Bitronix XID [6A657474792D6670702D73657276657200000145FFC68B9B00000000 : 6A657474792D6670702D73657276657200000145FFC68BCA00000002],
error=XAER_RMERR
at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:100)
at bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(TransactionContextHelper.java:70)
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:84)
... 66 more
<b>Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned </b>
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:642)
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:674)
at bitronix.tm.internal.XAResourceHolderState.start(XAResourceHolderState.java:211)
at bitronix.tm.internal.XAResourceManager.enlist(XAResourceManager.java:108)
at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:93)
... 68 more
I think the "bold" exception is the key.
Also the configuration file of my jetty server.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<!-- developpment jetty configuration -->
<!-- launch with main class : org.mortbay.start.Main app arguments:
deploy-conf/jetty-conf/mysql/jetty-dev.xml vm arguments : -Xmx1024M -DSTOP.KEY=stop
-DSTOP.PORT=6669 to stop : - - stop -Xmx1024M -DSTOP.KEY=stop -DSTOP.PORT=6669 -->
<Configure id="Server" class="org.mortbay.jetty.Server">
<Array id="plusConfig" type="java.lang.String">
<Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
<Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
<Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
</Array>
<Array id="serverClasses" type="java.lang.String">
</Array>
<Array id="systemClasses" type="java.lang.String">
</Array>
<!-- web apps -->
<Set name="handler">
<New id="handlerContext" class="org.mortbay.jetty.handler.ContextHandlerCollection">
<Set name="handlers">
<Array id="handlerArray" type="org.mortbay.jetty.webapp.WebAppContext">
<!-- wrapper server -->
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Arg>./webapps/myscript-fpp-wrapper-server.war</Arg>
<Arg>/myscript-form-wrapper-server</Arg>
<Set name="serverClasses">
<Ref id="serverClasses" />
</Set>
<Set name="ConfigurationClasses">
<Ref id="plusConfig" />
</Set>
</New>
</Item>
<!-- form server -->
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Arg>./webapps/myscript-fpp-form-server.war
</Arg>
<Arg>/myscript-form-server</Arg>
<Set name="serverClasses">
<Ref id="serverClasses" />
</Set>
<Set name="ConfigurationClasses">
<Ref id="plusConfig" />
</Set>
</New>
</Item>
<!-- hwr server -->
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Arg>./webapps/myscript-fpp-hwr-server.war</Arg>
<Arg>/myscript-form-hwr-server</Arg>
<Set name="serverClasses">
<Ref id="serverClasses" />
</Set>
<Set name="ConfigurationClasses">
<Ref id="plusConfig" />
</Set>
</New>
</Item>
</Array>
</Set>
</New>
</Set>
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="port">8080</Set>
</New>
</Arg>
</Call>
<!-- Use the jdk 1.5 platformMBeanServer -->
<Call id="MBeanServer" class="java.lang.management.ManagementFactory"
name="getPlatformMBeanServer" />
<Get id="Container" name="container">
<Call name="addEventListener">
<Arg>
<New class="org.mortbay.management.MBeanContainer">
<Arg>
<Ref id="MBeanServer" />
</Arg>
<Call name="start" />
</New>
</Arg>
</Call>
</Get>
<!-- Setup the RMIRegistry on a specific port -->
<Call id="rmiRegistry" class="java.rmi.registry.LocateRegistry"
name="createRegistry">
<Arg type="int">2099</Arg>
</Call>
<!-- Setup the JMXConnectorServer on a specific rmi server port -->
<Call id="jmxConnectorServer" class="javax.management.remote.JMXConnectorServerFactory"
name="newJMXConnectorServer">
<Arg>
<New class="javax.management.remote.JMXServiceURL">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
</Arg>
<Arg />
<Arg>
<Ref id="MBeanServer" />
</Arg>
<Call name="start" />
</Call>
<!--************************* -->
<!-- embbeded ActiveMQ Broker -->
<!--************************* -->
<New id="brokerService" class="org.apache.activemq.broker.BrokerService">
<Set name="brokerName">fppBrokerActiveMQ</Set>
<Set name="dataDirectoryFile"></Set>
<Call name="getSystemUsage">
<Call name="getMemoryUsage">
<Set name="limit">26428800</Set>
</Call>
<Call name="getStoreUsage">
<Set name="limit">204857600</Set>
</Call>
</Call>
<Call name="addConnector">
<Arg>nio://localhost:61615</Arg>
</Call>
<Call name="start"></Call>
</New>
<!-- ************************** -->
<!-- common fpp jndi resources -->
<!-- ************************** -->
<!-- ui debug properties -->
<New id="fpp.common-ui.velocityProperties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.common-ui.velocityProperties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="spring.resource.loader.class">org.springframework.ui.velocity.SpringResourceLoader
</Put>
<Put name="spring.resource.loader.cache">false</Put>
<Put name="velocimacro.library.autoreload">true</Put>
</New>
</Arg>
</New>
<New id="fpp.wrapper-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.wrapper-server.properties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="fpp.wrapper-server.instanceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/instance?wsdl
</Put>
<Put name="fpp.wrapper-server.formServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/form?wsdl
</Put>
<Put name="fpp.wrapper-server.formDeprecatedServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/formDeprecated?wsdl
</Put>
<Put name="fpp.wrapper-server.hwrResourceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/hwrResource?wsdl
</Put>
<Put name="fpp.wrapper-server.defaultEnvironmentName">default</Put>
<Put name="fpp.wrapper-server.defaultEnvironmentType">STANDARD</Put>
<Put name="fpp.wrapper-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.show_sql">true</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.use_query_cache">false</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.use_second_level_cache">false</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.use_structured_cache">false</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
</New>
</Arg>
</New>
<!-- transaction manager - bitronix -->
<Call name="getConfiguration" class="bitronix.tm.TransactionManagerServices">
<Set name="serverId">jetty-fpp-server</Set>
<Set name="gracefulShutdownInterval">45</Set>
<Set name="logPart1Filename">btm/btm1.tlog</Set>
<Set name="logPart2Filename">btm/btm2.tlog</Set>
</Call>
<Set name="gracefulShutdown">60000</Set>
<Call name="addLifeCycle">
<Arg>
<New class="bitronix.tm.integration.jetty6.BTMLifeCycle" />
</Arg>
</Call>
<New class="org.mortbay.jetty.plus.naming.Transaction">
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<New class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>java:/TransactionManager</Arg>
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>java:comp/TransactionManager</Arg>
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>java:comp/UserTransaction</Arg>
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<!-- database data source -->
<New id="fppDataSource" class="bitronix.tm.resource.jdbc.PoolingDataSource">
<Set name="uniqueName">fppDataSource</Set>
<Set name="className">com.microsoft.sqlserver.jdbc.SQLServerXADataSource</Set>
<Set name="minPoolSize">0</Set>
<Set name="maxPoolSize">50</Set>
<Get name="driverProperties">
<Put name="serverName">DYHVDB01</Put>
<Put name="instanceName">ALPHA</Put>
<Put name="integratedSecurity">false</Put>
<Put name="databaseName">tdb_digipen_fpp</Put>
<Put name="user">manage_digipen</Put>
<Put name="password">5T1fte?</Put>
<!--Needed to test??<Put name="pinGlobalTxToPhysicalConnection">true</Put>-->
</Get>
<Call name="init" />
</New>
<!-- Jms connection factories -->
<New id="fppServerConnectionFactory" class="bitronix.tm.resource.jms.PoolingConnectionFactory">
<Set name="className">org.apache.activemq.ActiveMQXAConnectionFactory</Set>
<Set name="uniqueName">fppServerConnectionFactory</Set>
<Set name="minPoolSize">4</Set>
<Set name="maxPoolSize">40</Set>
<Set name="allowLocalTransactions">true</Set>
<Get name="driverProperties">
<Put name="brokerURL">nio://localhost:61615?jms.prefetchPolicy.all=50</Put>
<New class="org.apache.activemq.RedeliveryPolicy">
<Set name="maximumRedeliveries">-1</Set>
<Set name="backOffMultiplier">2</Set>
</New>
</Get>
<Call name="init" />
</New>
<!-- JMS Queues & topics -->
<New id="formNotifiationTopic" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/formNotifiationTopic</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQTopic">
<Arg>formNotifiationTopic</Arg>
</New>
</Arg>
</New>
<New id="fieldJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/fieldJmsQueue</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQQueue">
<Arg>fieldJmsQueue</Arg>
</New>
</Arg>
</New>
<New id="fieldNotifJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/fieldNotifJmsQueue</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQQueue">
<Arg>fieldNotifJmsQueue</Arg>
</New>
</Arg>
</New>
<New id="inkJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/inkJmsQueue</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQQueue">
<Arg>inkJmsQueue</Arg>
</New>
</Arg>
</New>
<!-- native library services -->
<New id="myscriptLicenseService" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/myscriptLicenseService</Arg>
<Arg>
<New
class="com.visionobjects.licensemanager.impl.MyscriptLicenseServiceImpl">
<Arg>localhost</Arg>
</New>
</Arg>
</New>
<!-- *********************** -->
<!-- form server properties -->
<!-- *********************** -->
<New id="fpp.form.properties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.form.properties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="fpp.form.defaultEnvironmentName">default</Put>
<Put name="fpp.form.defaultEnvironmentType">STANDARD</Put>
<Put name="fpp.form.jbpm.job.nbexecutor">4</Put>
<Put name="fpp.form.jbpm.job.idleinterval">1000</Put>
<Put name="fpp.form.field.notif.nbconsumers">2</Put>
<Put name="fpp.form.ink.nbconsumers">2</Put>
<Put name="fpp.form.instance.instanceValidationMode">STANDARD</Put>
<Put name="fpp.form.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<!--<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>-->
<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>
<Put name="fpp.form.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put name="fpp.form.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
</Put>
<Put name="fpp.form.formdb.hibernate.cache.use_query_cache">false</Put>
<Put name="fpp.form.formdb.hibernate.cache.use_second_level_cache">false</Put>
<Put name="fpp.form.formdb.hibernate.cache.use_structured_cache">false</Put>
<Put name="fpp.form.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
<Put name="fpp.form.jbpmdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<Put name="fpp.form.jbpmdb.hibernate.show_sql">true</Put>
<Put name="fpp.form.jbpmdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put name="fpp.form.jbpmdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.use_query_cache">false</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.use_second_level_cache">false</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.use_structured_cache">false</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
<Put name="fpp.form.scheduler.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.MSSQLDelegate</Put>
<Put name="fpp.form.scheduler.dataSource.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</Put>
<Put name="fpp.form.scheduler.dataSource.URL">jdbc:sqlserver://DYHVDB01\ALPHA;DatabaseName=tdb_digipen_fpp;integratedSecurity=false
</Put>
<Put name="fpp.form.scheduler.dataSource.user">manage_digipen</Put>
<Put name="fpp.form.scheduler.dataSource.password">5T1fte?</Put>
<!-- Cron Format A cron expression is a string comprised of 6 or 7 fields
separated by white space. Fields can contain any of the allowed values, along
with various combinations of the allowed special characters for that field.
The fields are as follows: Field Name Mandatory Allowed Values Allowed Special
Characters Seconds YES 0-59 , - * / Minutes YES 0-59 , - * / Hours YES 0-23
, - * / Day of month YES 1-31 , - * ? / L W Month YES 1-12 or JAN-DEC , -
* / Day of week YES 1-7 or SUN-SAT , - * ? / L # Year NO empty, 1970-2099
, - * / -->
<Put name="fpp.form.purge.moduleinfo.cron">0 0/1 * * * ?</Put>
<Put name="fpp.form.purge.instances.cron">0 0 * * * ?</Put>
<Put name="fpp.form.purge.instances.defaultcase">365</Put>
<Put name="fpp.form.purge.instances.case1">10</Put>
<Put name="fpp.form.purge.instances.case2">60</Put>
<Put name="fpp.form.purge.instances.case3">100</Put>
<Put name="fpp.form.purge.instances.case4">30</Put>
<Put name="fpp.form.purge.instances.case5">60</Put>
<Put name="fpp.form.export.cron">0 0 * * * ?</Put>
<Put name="fpp.form.export.exportpath">C:\FPP</Put>
<Put name="fpp.form.export.exportMode">REGULAR</Put>
<Put name="fpp.form.export.buildingType">INCREMENTAL</Put>
<Put name="fpp.form.export.addInformations">true</Put>
</New>
</Arg>
</New>
<New id="fppFormDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>jdbc/fppFormDbDataSource</Arg>
<Arg>
<Ref id="fppDataSource"></Ref>
</Arg>
</New>
<New id="fppJbpmDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>jdbc/fppJbpmDbDataSource</Arg>
<Arg>
<Ref id="fppDataSource" />
</Arg>
</New>
<New id="formJmsTopicConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/formJmsTopicConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="fieldProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldProducerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="fieldNotifConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldNotifConsumerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="inkConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/inkConsumerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<!-- HWR SERVER -->
<New id="fpp.hwr-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.hwr-server.properties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="fpp.hwr-server.formbroker.uri">failover:nio://localhost:61615</Put>
<Put name="fpp.hwr-server.fieldConsumers">4</Put>
<Put name="fpp.hwr-server.resourceManager.memoryUsageThreshold">262144000</Put>
<Put name="fpp.hwr-server.resourceManager.resourceCountThreshold">150</Put>
<Put name="fpp.hwr-server.resourceManager.idleTimeLimit">1800000</Put>
<Put name="fpp.hwr-server.resourceManager.timeToLive">3600000</Put>
<Put name="fpp.hwr-server.resourceManager.wakeUpInterval">100000</Put>
<Put name="fpp.hwr-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<Put name="fpp.hwr-server.formdb.hibernate.show_sql">true</Put>
<Put name="fpp.hwr-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put
name="fpp.hwr-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
<Put name="fpp.hwr-server.internal.dumpRecognition">false</Put>
</New>
</Arg>
</New>
<New id="myscriptHwrService" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/myscriptHwrService</Arg>
<Arg>
<New class="com.visionobjects.myscript.commons.hwr.engine.HwrEngineService">
<Set name="handwritingContextUserLimit">50</Set>
<Set name="resourceUserLimit">0</Set>
<Set name="otherObjectUserLimit">500</Set>
<Call name="doStart" />
</New>
</Arg>
</New>
<New id="fieldNotificationProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldNotificationProducerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="fieldConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldConsumerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<!-- wrapper -->
<New id="fppWrapperServerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<Set name="brokerURL">nio://localhost:61615</Set>
<Set name="redeliveryPolicy">
<New class="org.apache.activemq.RedeliveryPolicy">
<Set name="maximumRedeliveries">-1</Set>
<Set name="backOffMultiplier">2</Set>
</New>
</Set>
</New>
<New id="formNotificationConsumerFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/formNotificationConsumerFactory</Arg>
<Arg>
<Ref id="fppWrapperServerConnectionFactory" />
</Arg>
</New>
<New id="inkProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/inkProducerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppWrapperServerConnectionFactory" />
</Arg>
</New>
<!-- JMX/SENSORS -->
<New id="inkJmsQueueUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="inkJmsQueueObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=inkJmsQueue
</Arg>
</New>
<New id="fieldNotifJmsQueueUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="fieldNotifJmsQueueObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldNotifJmsQueue
</Arg>
</New>
<New id="fieldJmsQueueUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="fieldJmsQueueObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldJmsQueue
</Arg>
</New>
<New id="formNotifiationTopicUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="formNotifiationTopicObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=formNotifiationTopic
</Arg>
</New>
<New id="server.list" class="java.util.HashMap">
<!-- InkJmsQueue -->
<Put name="WRP">
<New class="java.util.ArrayList">
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8081</Arg>
</New>
</Arg>
</Call>
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8084</Arg>
</New>
</Arg>
</Call>
</New>
</Put>
<Put name="FORM">
<New class="java.util.ArrayList">
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8080</Arg>
</New>
</Arg>
</Call>
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8084</Arg>
</New>
</Arg>
</Call>
</New>
</Put>
<Put name="HWR">
<New class="java.util.ArrayList">
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8083</Arg>
</New>
</Arg>
</Call>
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8084</Arg>
</New>
</Arg>
</Call>
</New>
</Put>
</New>
<New id="fpp.form.jmx.properties" class="java.util.HashMap">
<!-- InkJmsQueue -->
<Put name="inkJmsQueueSize">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">QueueSize</Put>
</New>
</Put>
<Put name="inkJmsConsumerCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">ConsumerCount</Put>
</New>
</Put>
<Put name="inkJmsDequeueCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">DequeueCount</Put>
</New>
</Put>
<Put name="inkJmsAverageEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">AverageEnqueueTime</Put>
</New>
</Put>
<Put name="inkJmsMaxEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">MaxEnqueueTime</Put>
</New>
</Put>
<!--FieldNotifJmsQueue -->
<Put name="fieldNotifJmsQueueSize">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">QueueSize</Put>
</New>
</Put>
<Put name="fieldNotifJmsConsumerCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">ConsumerCount</Put>
</New>
</Put>
<Put name="fieldNotifJmsDequeueCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">DequeueCount</Put>
</New>
</Put>
<Put name="fieldNotifJmsAverageEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">AverageEnqueueTime</Put>
</New>
</Put>
<Put name="fieldNotifJmsMaxEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">MaxEnqueueTime</Put>
</New>
</Put>
</New>
<New id="fpp.form.ui.parameters" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.form.ui.parameters</Arg>
<Arg>
<New
class="com.visionobjects.myscript.fpp.ui.parameters.impl.UIParametersServiceImpl">
<Set name="jmxProperties">
<Ref id="fpp.form.jmx.properties"></Ref>
</Set>
<Set name="serverList">
<Ref id="server.list"></Ref>
</Set>
</New>
</Arg>
</New>
</Configure>
Thanks so much in advance.
Hello guys,
I have been setting a production system with bitronix transaction manager, SQL server 2008, XA transactions and jetty 6. In the beginning this software was configured to run with MySQL. But one of my customer decided to move everything to MSSQL server 2008.
In that moment I was trying to get this up and running for some weeks (The configuration was completely different) and finally I got it.
The configuration with MSSQL server was running perfectly during 1 month but then from one day to other the error message I will show now appeared and I do not how to solve it. I almost read all the hints from google about this exception but nothing helped
me out.
I hope you guys can help me to find a way to solve it.
- I tried different version of the jdbc driver 3.0 and 4.0.
- I tried to export exactly the database to my localserver and it's running perfectly with the same configuration.
The problem is that I cannot reproduce the error in other place that is not the customer and at the same time I have no access to their internal database server. They installed all the XA transaction stuff (dll in binn, enable XA, and grant the permissions
for SQLXAUser), I am quite sure because it was running for one month without any problem.
I asked to the customer if anything happenend on their server (microsoft updates, machines reboot, ...) but nothing of these happened.
Also I tried this link out but did not help me.
<a href="http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess">http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess</a>
The exception is the following:
[2014-05-15 14:06:08,842] INFO 3666[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Starting Bitronix Transaction Manager
[2014-05-15 14:06:08,951] INFO 3775[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Extract ./webapps/myscript-fpp-wrapper-server.war to D:\Temp\Jetty_0_0_0_0_8080_myscript.fpp.wrapper.server.war__myscript.form.wrapper.server__.bnwnn7\webapp
[2014-05-15 14:06:10,324] INFO 5148[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - NO JSP Support for /myscript-form-wrapper-server, did not find org.apache.jasper.servlet.JspServlet
[2014-05-15 14:06:12,742] WARN 7566[main] - org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:118) - Dozer configuration file not found: dozer.properties. Using defaults for all Dozer global properties.
[2014-05-15 14:06:13,288] WARN 8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) - SQL Error: 0, SQLState: null
[2014-05-15 14:06:13,288]ERROR 8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:101) - error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with
usage count 1 wrapping SQLServerXAConnection:1 on ProxyConnectionID:1
[2014-05-15 14:06:13,319]ERROR 8143[main] - org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:220) - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'moduleRegistration' defined in class path resource [com/visionobjects/myscript/fpp/wrapper/module-registration.xml]: Invocation of init method failed; nested exception is
org.hibernate.exception.GenericJDBCException: could not execute query
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mortbay.start.Main.invokeMain(Main.java:194)
at org.mortbay.start.Main.start(Main.java:534)
at org.mortbay.start.Main.start(Main.java:441)
at org.mortbay.start.Main.main(Main.java:119)
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2235)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
at org.hibernate.loader.Loader.list(Loader.java:2124)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
at com.visionobjects.myscript.fpp.form.dao.impl.ModuleInfoDaoImpl.getModuleInfo(ModuleInfoDaoImpl.java:57)
at com.visionobjects.myscript.fpp.ModuleRegistration$1.doInTransactionWithoutResult(ModuleRegistration.java:73)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at com.visionobjects.myscript.fpp.ModuleRegistration.init(ModuleRegistration.java:66)
at com.visionobjects.myscript.fpp.ModuleRegistration.start(ModuleRegistration.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 33 more
Caused by: java.sql.SQLException: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with usage count 1 wrapping SQLServerXAConnection:1 on ProxyConnectionID:1
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:86)
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(JdbcConnectionHandle.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
at $Proxy29.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
at org.hibernate.loader.Loader.doQuery(Loader.java:696)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2232)
... 52 more
Caused by: bitronix.tm.internal.BitronixSystemException: cannot enlist an XAResourceHolderState with uniqueName=fppDataSource XAResource= XAResourceID:1 with XID a Bitronix XID [6A657474792D6670702D73657276657200000145FFC68B9B00000000 : 6A657474792D6670702D73657276657200000145FFC68BCA00000002],
error=XAER_RMERR
at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:100)
at bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(TransactionContextHelper.java:70)
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:84)
... 66 more
<b>Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned </b>
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:642)
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:674)
at bitronix.tm.internal.XAResourceHolderState.start(XAResourceHolderState.java:211)
at bitronix.tm.internal.XAResourceManager.enlist(XAResourceManager.java:108)
at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:93)
... 68 more
I think the "bold" exception is the key.
Also the configuration file of my jetty server.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<!-- developpment jetty configuration -->
<!-- launch with main class : org.mortbay.start.Main app arguments:
deploy-conf/jetty-conf/mysql/jetty-dev.xml vm arguments : -Xmx1024M -DSTOP.KEY=stop
-DSTOP.PORT=6669 to stop : - - stop -Xmx1024M -DSTOP.KEY=stop -DSTOP.PORT=6669 -->
<Configure id="Server" class="org.mortbay.jetty.Server">
<Array id="plusConfig" type="java.lang.String">
<Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
<Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
<Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
</Array>
<Array id="serverClasses" type="java.lang.String">
</Array>
<Array id="systemClasses" type="java.lang.String">
</Array>
<!-- web apps -->
<Set name="handler">
<New id="handlerContext" class="org.mortbay.jetty.handler.ContextHandlerCollection">
<Set name="handlers">
<Array id="handlerArray" type="org.mortbay.jetty.webapp.WebAppContext">
<!-- wrapper server -->
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Arg>./webapps/myscript-fpp-wrapper-server.war</Arg>
<Arg>/myscript-form-wrapper-server</Arg>
<Set name="serverClasses">
<Ref id="serverClasses" />
</Set>
<Set name="ConfigurationClasses">
<Ref id="plusConfig" />
</Set>
</New>
</Item>
<!-- form server -->
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Arg>./webapps/myscript-fpp-form-server.war
</Arg>
<Arg>/myscript-form-server</Arg>
<Set name="serverClasses">
<Ref id="serverClasses" />
</Set>
<Set name="ConfigurationClasses">
<Ref id="plusConfig" />
</Set>
</New>
</Item>
<!-- hwr server -->
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Arg>./webapps/myscript-fpp-hwr-server.war</Arg>
<Arg>/myscript-form-hwr-server</Arg>
<Set name="serverClasses">
<Ref id="serverClasses" />
</Set>
<Set name="ConfigurationClasses">
<Ref id="plusConfig" />
</Set>
</New>
</Item>
</Array>
</Set>
</New>
</Set>
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="port">8080</Set>
</New>
</Arg>
</Call>
<!-- Use the jdk 1.5 platformMBeanServer -->
<Call id="MBeanServer" class="java.lang.management.ManagementFactory"
name="getPlatformMBeanServer" />
<Get id="Container" name="container">
<Call name="addEventListener">
<Arg>
<New class="org.mortbay.management.MBeanContainer">
<Arg>
<Ref id="MBeanServer" />
</Arg>
<Call name="start" />
</New>
</Arg>
</Call>
</Get>
<!-- Setup the RMIRegistry on a specific port -->
<Call id="rmiRegistry" class="java.rmi.registry.LocateRegistry"
name="createRegistry">
<Arg type="int">2099</Arg>
</Call>
<!-- Setup the JMXConnectorServer on a specific rmi server port -->
<Call id="jmxConnectorServer" class="javax.management.remote.JMXConnectorServerFactory"
name="newJMXConnectorServer">
<Arg>
<New class="javax.management.remote.JMXServiceURL">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
</Arg>
<Arg />
<Arg>
<Ref id="MBeanServer" />
</Arg>
<Call name="start" />
</Call>
<!--************************* -->
<!-- embbeded ActiveMQ Broker -->
<!--************************* -->
<New id="brokerService" class="org.apache.activemq.broker.BrokerService">
<Set name="brokerName">fppBrokerActiveMQ</Set>
<Set name="dataDirectoryFile"></Set>
<Call name="getSystemUsage">
<Call name="getMemoryUsage">
<Set name="limit">26428800</Set>
</Call>
<Call name="getStoreUsage">
<Set name="limit">204857600</Set>
</Call>
</Call>
<Call name="addConnector">
<Arg>nio://localhost:61615</Arg>
</Call>
<Call name="start"></Call>
</New>
<!-- ************************** -->
<!-- common fpp jndi resources -->
<!-- ************************** -->
<!-- ui debug properties -->
<New id="fpp.common-ui.velocityProperties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.common-ui.velocityProperties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="spring.resource.loader.class">org.springframework.ui.velocity.SpringResourceLoader
</Put>
<Put name="spring.resource.loader.cache">false</Put>
<Put name="velocimacro.library.autoreload">true</Put>
</New>
</Arg>
</New>
<New id="fpp.wrapper-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.wrapper-server.properties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="fpp.wrapper-server.instanceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/instance?wsdl
</Put>
<Put name="fpp.wrapper-server.formServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/form?wsdl
</Put>
<Put name="fpp.wrapper-server.formDeprecatedServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/formDeprecated?wsdl
</Put>
<Put name="fpp.wrapper-server.hwrResourceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/hwrResource?wsdl
</Put>
<Put name="fpp.wrapper-server.defaultEnvironmentName">default</Put>
<Put name="fpp.wrapper-server.defaultEnvironmentType">STANDARD</Put>
<Put name="fpp.wrapper-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.show_sql">true</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.use_query_cache">false</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.use_second_level_cache">false</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.use_structured_cache">false</Put>
<Put name="fpp.wrapper-server.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
</New>
</Arg>
</New>
<!-- transaction manager - bitronix -->
<Call name="getConfiguration" class="bitronix.tm.TransactionManagerServices">
<Set name="serverId">jetty-fpp-server</Set>
<Set name="gracefulShutdownInterval">45</Set>
<Set name="logPart1Filename">btm/btm1.tlog</Set>
<Set name="logPart2Filename">btm/btm2.tlog</Set>
</Call>
<Set name="gracefulShutdown">60000</Set>
<Call name="addLifeCycle">
<Arg>
<New class="bitronix.tm.integration.jetty6.BTMLifeCycle" />
</Arg>
</Call>
<New class="org.mortbay.jetty.plus.naming.Transaction">
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<New class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>java:/TransactionManager</Arg>
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>java:comp/TransactionManager</Arg>
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>java:comp/UserTransaction</Arg>
<Arg>
<Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
</Arg>
</New>
<!-- database data source -->
<New id="fppDataSource" class="bitronix.tm.resource.jdbc.PoolingDataSource">
<Set name="uniqueName">fppDataSource</Set>
<Set name="className">com.microsoft.sqlserver.jdbc.SQLServerXADataSource</Set>
<Set name="minPoolSize">0</Set>
<Set name="maxPoolSize">50</Set>
<Get name="driverProperties">
<Put name="serverName">DYHVDB01</Put>
<Put name="instanceName">ALPHA</Put>
<Put name="integratedSecurity">false</Put>
<Put name="databaseName">tdb_digipen_fpp</Put>
<Put name="user">manage_digipen</Put>
<Put name="password">5T1fte?</Put>
<!--Needed to test??<Put name="pinGlobalTxToPhysicalConnection">true</Put>-->
</Get>
<Call name="init" />
</New>
<!-- Jms connection factories -->
<New id="fppServerConnectionFactory" class="bitronix.tm.resource.jms.PoolingConnectionFactory">
<Set name="className">org.apache.activemq.ActiveMQXAConnectionFactory</Set>
<Set name="uniqueName">fppServerConnectionFactory</Set>
<Set name="minPoolSize">4</Set>
<Set name="maxPoolSize">40</Set>
<Set name="allowLocalTransactions">true</Set>
<Get name="driverProperties">
<Put name="brokerURL">nio://localhost:61615?jms.prefetchPolicy.all=50</Put>
<New class="org.apache.activemq.RedeliveryPolicy">
<Set name="maximumRedeliveries">-1</Set>
<Set name="backOffMultiplier">2</Set>
</New>
</Get>
<Call name="init" />
</New>
<!-- JMS Queues & topics -->
<New id="formNotifiationTopic" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/formNotifiationTopic</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQTopic">
<Arg>formNotifiationTopic</Arg>
</New>
</Arg>
</New>
<New id="fieldJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/fieldJmsQueue</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQQueue">
<Arg>fieldJmsQueue</Arg>
</New>
</Arg>
</New>
<New id="fieldNotifJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/fieldNotifJmsQueue</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQQueue">
<Arg>fieldNotifJmsQueue</Arg>
</New>
</Arg>
</New>
<New id="inkJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>fpp/inkJmsQueue</Arg>
<Arg>
<New class="org.apache.activemq.command.ActiveMQQueue">
<Arg>inkJmsQueue</Arg>
</New>
</Arg>
</New>
<!-- native library services -->
<New id="myscriptLicenseService" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/myscriptLicenseService</Arg>
<Arg>
<New
class="com.visionobjects.licensemanager.impl.MyscriptLicenseServiceImpl">
<Arg>localhost</Arg>
</New>
</Arg>
</New>
<!-- *********************** -->
<!-- form server properties -->
<!-- *********************** -->
<New id="fpp.form.properties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.form.properties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="fpp.form.defaultEnvironmentName">default</Put>
<Put name="fpp.form.defaultEnvironmentType">STANDARD</Put>
<Put name="fpp.form.jbpm.job.nbexecutor">4</Put>
<Put name="fpp.form.jbpm.job.idleinterval">1000</Put>
<Put name="fpp.form.field.notif.nbconsumers">2</Put>
<Put name="fpp.form.ink.nbconsumers">2</Put>
<Put name="fpp.form.instance.instanceValidationMode">STANDARD</Put>
<Put name="fpp.form.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<!--<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>-->
<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>
<Put name="fpp.form.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put name="fpp.form.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
</Put>
<Put name="fpp.form.formdb.hibernate.cache.use_query_cache">false</Put>
<Put name="fpp.form.formdb.hibernate.cache.use_second_level_cache">false</Put>
<Put name="fpp.form.formdb.hibernate.cache.use_structured_cache">false</Put>
<Put name="fpp.form.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
<Put name="fpp.form.jbpmdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<Put name="fpp.form.jbpmdb.hibernate.show_sql">true</Put>
<Put name="fpp.form.jbpmdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put name="fpp.form.jbpmdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.use_query_cache">false</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.use_second_level_cache">false</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.use_structured_cache">false</Put>
<Put name="fpp.form.jbpmdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
<Put name="fpp.form.scheduler.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.MSSQLDelegate</Put>
<Put name="fpp.form.scheduler.dataSource.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</Put>
<Put name="fpp.form.scheduler.dataSource.URL">jdbc:sqlserver://DYHVDB01\ALPHA;DatabaseName=tdb_digipen_fpp;integratedSecurity=false
</Put>
<Put name="fpp.form.scheduler.dataSource.user">manage_digipen</Put>
<Put name="fpp.form.scheduler.dataSource.password">5T1fte?</Put>
<!-- Cron Format A cron expression is a string comprised of 6 or 7 fields
separated by white space. Fields can contain any of the allowed values, along
with various combinations of the allowed special characters for that field.
The fields are as follows: Field Name Mandatory Allowed Values Allowed Special
Characters Seconds YES 0-59 , - * / Minutes YES 0-59 , - * / Hours YES 0-23
, - * / Day of month YES 1-31 , - * ? / L W Month YES 1-12 or JAN-DEC , -
* / Day of week YES 1-7 or SUN-SAT , - * ? / L # Year NO empty, 1970-2099
, - * / -->
<Put name="fpp.form.purge.moduleinfo.cron">0 0/1 * * * ?</Put>
<Put name="fpp.form.purge.instances.cron">0 0 * * * ?</Put>
<Put name="fpp.form.purge.instances.defaultcase">365</Put>
<Put name="fpp.form.purge.instances.case1">10</Put>
<Put name="fpp.form.purge.instances.case2">60</Put>
<Put name="fpp.form.purge.instances.case3">100</Put>
<Put name="fpp.form.purge.instances.case4">30</Put>
<Put name="fpp.form.purge.instances.case5">60</Put>
<Put name="fpp.form.export.cron">0 0 * * * ?</Put>
<Put name="fpp.form.export.exportpath">C:\FPP</Put>
<Put name="fpp.form.export.exportMode">REGULAR</Put>
<Put name="fpp.form.export.buildingType">INCREMENTAL</Put>
<Put name="fpp.form.export.addInformations">true</Put>
</New>
</Arg>
</New>
<New id="fppFormDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>jdbc/fppFormDbDataSource</Arg>
<Arg>
<Ref id="fppDataSource"></Ref>
</Arg>
</New>
<New id="fppJbpmDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>jdbc/fppJbpmDbDataSource</Arg>
<Arg>
<Ref id="fppDataSource" />
</Arg>
</New>
<New id="formJmsTopicConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/formJmsTopicConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="fieldProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldProducerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="fieldNotifConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldNotifConsumerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="inkConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/inkConsumerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<!-- HWR SERVER -->
<New id="fpp.hwr-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.hwr-server.properties</Arg>
<Arg>
<New class="java.util.Properties">
<Put name="fpp.hwr-server.formbroker.uri">failover:nio://localhost:61615</Put>
<Put name="fpp.hwr-server.fieldConsumers">4</Put>
<Put name="fpp.hwr-server.resourceManager.memoryUsageThreshold">262144000</Put>
<Put name="fpp.hwr-server.resourceManager.resourceCountThreshold">150</Put>
<Put name="fpp.hwr-server.resourceManager.idleTimeLimit">1800000</Put>
<Put name="fpp.hwr-server.resourceManager.timeToLive">3600000</Put>
<Put name="fpp.hwr-server.resourceManager.wakeUpInterval">100000</Put>
<Put name="fpp.hwr-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
<Put name="fpp.hwr-server.formdb.hibernate.show_sql">true</Put>
<Put name="fpp.hwr-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
<Put
name="fpp.hwr-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
<Put name="fpp.hwr-server.internal.dumpRecognition">false</Put>
</New>
</Arg>
</New>
<New id="myscriptHwrService" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/myscriptHwrService</Arg>
<Arg>
<New class="com.visionobjects.myscript.commons.hwr.engine.HwrEngineService">
<Set name="handwritingContextUserLimit">50</Set>
<Set name="resourceUserLimit">0</Set>
<Set name="otherObjectUserLimit">500</Set>
<Call name="doStart" />
</New>
</Arg>
</New>
<New id="fieldNotificationProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldNotificationProducerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<New id="fieldConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fieldConsumerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppServerConnectionFactory" />
</Arg>
</New>
<!-- wrapper -->
<New id="fppWrapperServerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<Set name="brokerURL">nio://localhost:61615</Set>
<Set name="redeliveryPolicy">
<New class="org.apache.activemq.RedeliveryPolicy">
<Set name="maximumRedeliveries">-1</Set>
<Set name="backOffMultiplier">2</Set>
</New>
</Set>
</New>
<New id="formNotificationConsumerFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/formNotificationConsumerFactory</Arg>
<Arg>
<Ref id="fppWrapperServerConnectionFactory" />
</Arg>
</New>
<New id="inkProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/inkProducerJmsConnectionFactory</Arg>
<Arg>
<Ref id="fppWrapperServerConnectionFactory" />
</Arg>
</New>
<!-- JMX/SENSORS -->
<New id="inkJmsQueueUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="inkJmsQueueObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=inkJmsQueue
</Arg>
</New>
<New id="fieldNotifJmsQueueUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="fieldNotifJmsQueueObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldNotifJmsQueue
</Arg>
</New>
<New id="fieldJmsQueueUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="fieldJmsQueueObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldJmsQueue
</Arg>
</New>
<New id="formNotifiationTopicUrl" class="java.lang.String">
<Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
</Arg>
</New>
<New id="formNotifiationTopicObjectName" class="java.lang.String">
<Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=formNotifiationTopic
</Arg>
</New>
<New id="server.list" class="java.util.HashMap">
<!-- InkJmsQueue -->
<Put name="WRP">
<New class="java.util.ArrayList">
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8081</Arg>
</New>
</Arg>
</Call>
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8084</Arg>
</New>
</Arg>
</Call>
</New>
</Put>
<Put name="FORM">
<New class="java.util.ArrayList">
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8080</Arg>
</New>
</Arg>
</Call>
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8084</Arg>
</New>
</Arg>
</Call>
</New>
</Put>
<Put name="HWR">
<New class="java.util.ArrayList">
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8083</Arg>
</New>
</Arg>
</Call>
<Call name="add">
<Arg>
<New class="java.lang.String">
<Arg>http://localhost:8084</Arg>
</New>
</Arg>
</Call>
</New>
</Put>
</New>
<New id="fpp.form.jmx.properties" class="java.util.HashMap">
<!-- InkJmsQueue -->
<Put name="inkJmsQueueSize">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">QueueSize</Put>
</New>
</Put>
<Put name="inkJmsConsumerCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">ConsumerCount</Put>
</New>
</Put>
<Put name="inkJmsDequeueCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">DequeueCount</Put>
</New>
</Put>
<Put name="inkJmsAverageEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">AverageEnqueueTime</Put>
</New>
</Put>
<Put name="inkJmsMaxEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="inkJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="inkJmsQueueObjectName" />
</Put>
<Put name="attribute">MaxEnqueueTime</Put>
</New>
</Put>
<!--FieldNotifJmsQueue -->
<Put name="fieldNotifJmsQueueSize">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">QueueSize</Put>
</New>
</Put>
<Put name="fieldNotifJmsConsumerCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">ConsumerCount</Put>
</New>
</Put>
<Put name="fieldNotifJmsDequeueCount">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">DequeueCount</Put>
</New>
</Put>
<Put name="fieldNotifJmsAverageEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">AverageEnqueueTime</Put>
</New>
</Put>
<Put name="fieldNotifJmsMaxEnqueueTime">
<New class="java.util.HashMap">
<Put name="urlQueue">
<Ref id="fieldNotifJmsQueueUrl" />
</Put>
<Put name="objectName">
<Ref id="fieldNotifJmsQueueObjectName" />
</Put>
<Put name="attribute">MaxEnqueueTime</Put>
</New>
</Put>
</New>
<New id="fpp.form.ui.parameters" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="Server" />
</Arg>
<Arg>fpp/fpp.form.ui.parameters</Arg>
<Arg>
<New
class="com.visionobjects.myscript.fpp.ui.parameters.impl.UIParametersServiceImpl">
<Set name="jmxProperties">
<Ref id="fpp.form.jmx.properties"></Ref>
</Set>
<Set name="serverList">
<Ref id="server.list"></Ref>
</Set>
</New>
</Arg>
</New>
</Configure>
Thanks so much in advance.
-
Error in resource driver... XAException
Hi,
I have a nagging question hope someone here can help. I have a BPEL process running on a mid-tier server and I kept getting the XAException when I start the process. The process did run despites the message and I did not get the message when I run the same process in my local host. So this got to be a configuration issue on my mid-tier server. Here is the top-level message from the exception:
06/03/16 09:13:25 Error in resource driver
javax.transaction.xa.XAException: During rollback the commit on the physical connection failed. Exception: java.sql.SQLException: Closed Connection
06/03/16 09:13:25 Error in bean ejb/collaxa/system/CubeDeliveryBean
javax.transaction.SystemException: javax.transaction.xa.XAException: During rollback the commit on the physical connection failed.
Exception: java.sql.SQLException: Closed Connection
I have configured the oc4j-ra.xml for DbAdater and FtpAdapter. Is there more?I have increased the default values but no visible effect. I am still getting the same errors. The strange thing is that all my processes run to completion. They have Database_Adapter (both inbond and outbond) and FTP_Adapter (outbond).
oc4j-ra.xml...
- <connector-factory location="eis/DB/XXXXX" connector-name="Database Adapter">
<config-property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<config-property name="connectionString" value="jdbc:oracle:thin:@mp2p1:1521:XXXX" />
<config-property name="userName" value="XXXXXXXXXX" />
<config-property name="password" value="XXXXXXXXX" />
<config-property name="minConnections" value="5" />
<config-property name="maxConnections" value="250" />
<config-property name="minReadConnections" value="1" />
<config-property name="maxReadConnections" value="100" />
<config-property name="usesExternalConnectionPooling" value="false" />
<config-property name="dataSourceName" value="" />
<config-property name="usesExternalTransactionController" value="false" />
<config-property name="platformClassName" value="oracle.toplink.internal.databaseaccess.Oracle9Platform" />
<config-property name="usesNativeSequencing" value="true" />
<config-property name="sequencePreallocationSize" value="50" />
<config-property name="tableQualifier" value="" />
<config-property name="defaultNChar" value="false" />
<config-property name="usesBatchWriting" value="true" />
</connector-factory>
data-sources.xml...
<data-source class="com.evermind.sql.DriverManagerDataSource"
name="BPELServerDataSource"
location="jdbc/BPELServerDataSourceWorkflow"
xa-location="BPELServerDataSource"
ejb-location="jdbc/BPELServerDataSource"
connection-driver="oracle.jdbc.OracleDriver"
max-connections="250"
min-connections="10"
connection-retry-interval="30"
max-connect-attempts="30"
url="jdbc:oracle:thin:[username/password]@XXX.XXX.XXX.XXX:orcl"/> -
Live problem: Received XAException for commit1
We are encountering the following error on a live system. Does anyone know anything about the following exception. I cannot find any details on the web.
<2007-03-22 06:47:59,398> <DEBUG> <aqa_examiner_payments.collaxa.cube.ws>
<WSIFInvocationHandler::invokeLocalService> processId=ClaimProcessing,
revisionTag=1.7, partnerLinkName=, roleName=
<2007-03-22 06:47:59,399> <DEBUG> <aqa_examiner_payments.collaxa.cube.ws>
wsseHeaders: null
<2007-03-22 06:47:59,399> <DEBUG> <aqa_examiner_payments.collaxa.cube.ws>
wsseUsername : null
<2007-03-22 06:47:59,401> <DEBUG> <aqa_examiner_payments.collaxa.cube.ws>
<WSIFInvocationHandler::invokeLocalService> exception
javax.ejb.EJBException: An exception occurred during transaction completion: ;
nested exception is: javax.transaction.RollbackException: Received an XAException
from commit1: 100
javax.transaction.RollbackException: Received an XAException from commit1: 100
at
com.evermind.server.ApplicationServerTransaction.mediateOnePhaseCommitExcept
ion(ApplicationServerTransaction.java:702)
at
com.evermind.server.ApplicationServerTransaction.singlePhaseCommit(ApplicationS
erverTransaction.java:679)
at
com.evermind.server.ApplicationServerTransaction.commitBasedOnResourceCount(
ApplicationServerTransaction.java:554)
at
com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTran
saction.java:250)
at
com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransa
ction.java:130)
at
com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServ
erTransactionManager.java:433)
at
com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java
:132)
at
com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRe
quiresNewInterceptor.java:58)
at
com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationConte
xtImpl.java:119)
at
com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.j
ava:52)
at
com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationConte
xtImpl.java:119)
at
com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:5
5)
Any help would be really appreciated!
Regards
AndyQuote from: kakarocht on 12-March-06, 23:39:50
I wouldn't used any liveupdate as might caused a lot of trouble. Avoid from it...
Quote from: rocketman18 on 13-March-06, 22:05:22
Im now under the impression that you need the "CORE CELL" application installed to use Live Update 3 (and some other MSI apps.)correctly.
Actually neither of them are worth the space that they take up on your hard drive IMHO... -
Weblogic.transaction.XAException: XAER_RMERR
We have JMS adapter product which uses our own transaction manager to manage an XA global transaction. Using this product we can configure a XA connection and able to produce a message to JMS Queue. Our JMS adapter product works fine with almost all other JMS provider (Sonic, webspere etc) except weblogic. I am using weblogic 9.2. In our code we use to invoke the XAResource() as below
((XAQueueSession)queueSession).getXAResource()
but this throws an error as "can only be called from server". I learnt that in client JVM you can not call getXAResource API directly, rather we should use TxHelper.getClientInterposedTransactionManager(context, serverName). We had introduced following code.
InterposedTransactionManager itm = TxHelper.getClientInterposedTransactionManager(ctx1, "examplesServer");
xaResource = itm.getXAResource();
The above code works fine. Now I am getting XAResource object. But when I produce a message to weblogic JMS Queue, I get the following exception
weblogic.transaction.XAException: XAER_RMERR : A resource manager error has occured in the transaction branch. ClientTM[examplesServer+172.31.91.57:7001+wl_server+t3+].XAResource.commit() fails.
at weblogic.transaction.internal.XAResourceHelper.throwXAException(XAResourceHelper.java:172)
at weblogic.transaction.internal.TransactionManagerImpl$TMXAResource.commit(TransactionManagerImpl.java:993)
at weblogic.transaction.internal.ClientTransactionManagerImpl$ClientTMXAResource.commit(ClientTransactionManagerImpl.java:136)
at com.wm.app.b2b.server.jca.transactions.Tran.commit(Tran.java:209)
at com.wm.app.b2b.server.jca.transactions.Tran.delistResource(Tran.java:482)
at com.wm.app.b2b.server.jca.transactions.TransactionImpl.delistResource(TransactionImpl.java:89)
We are using JDK1.5. I am not sure why we are getting the above exception. Our JMS adapter code works fine with almost all other JMS provider even with XA transaction support. The problem is only with Weblogic JMS server.
Any help on this would be appreciated.
Thanks,
SagarAs per the first exception, XA resource enlistment with foreign TMs is only supported on the server - so you can either use WebLogic transactions, or run the adapter on a WL server. If you'd like to see enhancements in this area, it would help if you contacted WebLogic customer support and asked them to work with the WebLogic JMS product manager (Dave Dabelus).
Tom -
Hi All,
We have migrated from WLS 9.2 to WLS 10.3.2.
We have messaging bridge which is configured to send messages from a weblogic cluster having 3 managed servers to IBM MQ V 7 queue.
However the messaging bridge is failing with the exception with a huge trace as mentioned below:
####<Jun 2, 2010 11:35:51 AM EDT> <Debug> <MessagingBridgeRuntimeVerbose> <snjcprdcriba02> <citmqgatewayserver2> <[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0002269D8ED345D237A5> <> <1275492951488> <BEA-000000> <Exception:
weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error enlisting GXA transaction
at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncTran(DispatcherAdapter.java:53)
at weblogic.jms.client.JMSProducer.toFEProducer(JMSProducer.java:1272)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1457)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error enlisting GXA transaction
at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:1070)
at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:276)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:141)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error enlisting GXA transaction
at weblogic.jms.dispatcher.Request.handleThrowable(Request.java:87)
at weblogic.jms.dispatcher.Request.getResult(Request.java:52)
at weblogic.jms.frontend.FEProducer.sendRetryDestination(FEProducer.java:1045)
Caused By: weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error enlisting GXA transaction
at weblogic.jms.dispatcher.Request.handleThrowable(Request.java:87)
at weblogic.jms.dispatcher.Request.getResult(Request.java:52)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error enlisting GXA transaction
at weblogic.jms.backend.BEDestinationImpl.sendIssueMessage(BEDestinationImpl.java:1923)
at weblogic.jms.backend.BEDestinationImpl.send(BEDestinationImpl.java:2111)
at weblogic.jms.backend.BEDestinationImpl.wrappedSend(BEDestinationImpl.java:2054)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: weblogic.messaging.kernel.KernelException: Error enlisting GXA transaction
at weblogic.messaging.kernel.internal.KernelImpl.getGXATransaction(KernelImpl.java:538)
at weblogic.messaging.kernel.internal.QueueImpl.send(QueueImpl.java:316)
at weblogic.jms.backend.BEDestinationImpl.sendIssueMessage(BEDestinationImpl.java:1876)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: weblogic.store.gxa.GXAException: Transaction already rolled back, or the transaction manager has timed out this resource.
at weblogic.store.gxa.internal.GXAResourceImpl.enlist(GXAResourceImpl.java:523)
at weblogic.messaging.kernel.internal.KernelImpl.getGXATransaction(KernelImpl.java:536)
at weblogic.messaging.kernel.internal.QueueImpl.send(QueueImpl.java:316)
at weblogic.jms.backend.BEDestinationImpl.sendIssueMessage(BEDestinationImpl.java:1876)
at weblogic.jms.backend.BEDestinationImpl.send(BEDestinationImpl.java:2111)
at weblogic.jms.backend.BEDestinationImpl.wrappedSend(BEDestinationImpl.java:2054)
at weblogic.jms.backend.BEDestinationImpl.invoke(BEDestinationImpl.java:1542)
at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)
at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsyncInternal(DispatcherImpl.java:139)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: weblogic.transaction.RollbackException: Tx marked rollback due to unexpected internal exception
start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException: Unexpected Exception for XAResource 'eis/jms/WLSConnectionFactoryJNDIXA':0java.lang.ArrayIndexOutOfBoundsException: 0
at weblogic.connector.outbound.ConnectionPool.findXATxConnectionHandler(ConnectionPool.java:2079)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.useXAResourceFromPool(RecoveryOnlyXAWrapper.java:404)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.validate(RecoveryOnlyXAWrapper.java:384)
at weblogic.connector.transaction.outbound.XAWrapper.start(XAWrapper.java:472)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.start(RecoveryOnlyXAWrapper.java:32)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1201)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1134)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:174)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1574)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:571)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at weblogic.connector.outbound.ConnectionPool.findXATxConnectionHandler(ConnectionPool.java:2079)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.useXAResourceFromPool(RecoveryOnlyXAWrapper.java:404)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.validate(RecoveryOnlyXAWrapper.java:384)
at weblogic.connector.transaction.outbound.XAWrapper.start(XAWrapper.java:472)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.start(RecoveryOnlyXAWrapper.java:32)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1201)
Any pointers to address this issue would be helpful.
Thanks in advance.The key exception seems to be an "ArrayIndexOutOfBounds" exception in the adapter code:
Caused By: weblogic.transaction.RollbackException: Tx marked rollback due to unexpected internal exception start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException: Unexpected Exception for XAResource 'eis/jms/WLSConnectionFactoryJNDIXA':0java.lang.ArrayIndexOutOfBoundsException: 0
at weblogic.connector.outbound.ConnectionPool.findXATxConnectionHandler(ConnectionPool.java:2079)An array-index-out-of-bounds exception is normally not expected or handled, and could be a sign of a Bug in the WebLogic. My only other guess is that the upgraded domain is somehow referencing an adapter from the original domain -- a configuration that's not supported.
To see if you can get a working bridge, perhaps try creating an XA capable bridge from scratch. The console should guide you through most of the steps, and you can reference your old configuration for the MQ specific URL, JNDI context factory, connection factory, and dest values...
Hope this helps,
Tom -
XAException during sending JMS message
I'am having following exception during sending JMS message using JMSService to remote OC4J queue:
04/09/15 16:35:02 XAException in errorRollback rollback(c0:a7:9:14:cd:2d:0:0:2a:
0:0:0:0:0:0:0:0:2b:0:ff:2:84:8c:1):
04/09/15 16:35:02 XAException in errorRollback null
04/09/15 16:35:02 XAException in errorRollback rollback(c0:a7:9:14:cd:2d:0:0:2a:
0:0:0:0:0:0:0:0:2b:0:ff:2:84:8c:1):
04/09/15 16:35:02 XAException in errorRollback null
<2004-09-15 16:35:02,717> <ERROR> <default.collaxa.cube.engine.dispatch> <BaseSc
heduledWorker::process> Failed to handle dispatch message ... exception Message
handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.
engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: Transac
tion was rolled back: TwoPhase Commit failed; nested exception is: javax.transac
tion.xa.XAException: rollback(c0:a7:9:14:cd:2d:0:0:2a:0:0:0:0:0:0:0:0:2b:0:ff:2:
84:8c:1):
Regards
JarekHi Jarek,
Is it possible to send us a reproducible bpel package or steps to reproduce? you can send the test case to [email protected]
when you send the zip file could you please rename to .zap extension. I haven't seen this problem before. I want to reproduce this on my development env.
-muruga -
I am using JBoss 2.4.3 container, SQLServer 2000 and Opta2000 JDBC driver.
I have 3 stateless session beans defined with container managed transactions. My first session bean "A" calls methods on the other 2 session beans "B" and "C". The transaction attribute for methods defined in session bean "A" is "Required". Since this is the first session bean called, a new transaction should be created. The transaction attribute for session beans "B" and "C" is "RequiresNew". So, even though session bean "A" has its own transactional context, method invocations on session beans "B" and "C" should always create separate transactions.
In session bean "A", I call method of session bean "B". This method is completed successfully so the transaction is committed. I then call method on session bean "C". This method fails and the transaction is rolled back. I then call method of session bean "B" which throws an XAException when attempting to acquire a database connection. So, I have transaction "1" for session bean "A", transaction "2" for session bean "B", transaction "3" for session bean "C", transaction "4" for session bean "B". Transactions "1", "3" and "4" all fail because of the failed transaction "3". Any subsequent attempt to acquire a database connection throws an XAException.
Am I breaking any rules here or is this a bug? Any help would be greatly appreciated.I have pasted a portion of the stack trace below. The error code is "XAER_NOTA" which means "The XID is not valid". Note that all transactions are committed successfully if the transaction for session bean "C" is successful. It's only when the session bean "C" transaction fails that I get the XAException.
XAException: tx=XidImpl [FormatId=257, GlobalId=actek-kturner//3, BranchQual=] errorCode=XAER_NOTA
javax.transaction.xa.XAException
at org.opentools.minerva.jdbc.xa.wrapper.XAResourceImpl.start(XAResourceImpl.java:258)
at org.jboss.tm.TxCapsule.startResource(TxCapsule.java:1087)
at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:614)
at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:111)
at org.jboss.pool.jdbc.xa.XAConnectionFactory.prepareObject(XAConnectionFactory.java:290)
at org.jboss.pool.ObjectPool.getObject(ObjectPool.java:566)
at org.jboss.pool.ObjectPool.getObject(ObjectPool.java:538)
at org.jboss.pool.jdbc.xa.XAPoolDataSource.getConnection(XAPoolDataSource.java:178)
at com.actek.j2ee.common.util.ConnectionFactory.getConnection(ConnectionFactory.java:47)
at com.actek.j2ee.common.util.ConnectionFactory.getConnection(ConnectionFactory.java:78)
at com.actek.j2ee.common.util.ConnectionFactory.getConnection(ConnectionFactory.java:67) -
Deferred constraints & XAExceptions details
When executing an XA transaction on Oracle 8i with a J2EE server, we are not getting enough details in the OracleXAException that occurs as a result of a deferred constraint being violated (during the commit).
We're getting a oracle.jdbc.xa.OracleXAException (wrapped inside a TransactionRolledBackException), and upon further inspection I can call the OracleXAException methods:
getOracleError() : int
getOracleSQLError() : int
I cannot get any textual details about the error (ie. which constraint was violated).
Do other version of Oracle provide more details during XA transaction failures?
Thanks,
M<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by SAMEER DESHPANDE ([email protected]):
Hello
I would like to know the use of Deferred Constraints.
At the time of COMMMIT, the Oracle ROLLBACKS the transaction if I set "SET CONSTRAINT ALL DEFERRED;"...
What is the use of DEFERRED CONSTRAINTS...?
Thanks
Sameer<HR></BLOCKQUOTE>
You can do "SET CONSTRAINT ALL IMMEDIATE" before committing. That statement will raise an error, without rolling back the transaction, if there are violated constraints. -
XAResource.recover failed, with XAException
when using jdbc 10.2.* to recover an appending transaction using xaresource interface, it's failed. but the jdbc10.1.* can work.
how to solve this problem with jdbc 10.2.*when using jdbc 10.2.* to recover an appending transaction using xaresource interface, it's failed. but the jdbc10.1.* can work.
how to solve this problem with jdbc 10.2.* -
we're using wls 8.1sp2 w/ oracle. our database connection setup works fine when using a JBDCConnectionPool, and specifying SupportsLocalTransactions="true", RollbackLocalxUponClose="true" (among many other settings).
i'm looking into moving from using a JDBCConnectionPool/DataSource configured in the config.xml to using a DataSourceFactory along with using a <jdbc-connection-pool> in the weblogic-application.xml. the reason for this is to keep the data source from being publicly available. if someone else wants to get to our data, they're going to go through our beans, not a jdbc connection from the ds. please let me know if i'm mistaken that this will accomplish that goal.
here's the settings setup for the xa-parms in the weblogic-application.xml:
<xa-params>
<debug-level>3</debug-level>
<keep-conn-until-tx-complete-enabled>true</keep-conn-until-tx-complete-enabled>
<local-transaction-supported>true</local-transaction-supported>
<xa-transaction-timeout>30</xa-transaction-timeout>
<rollback-localtx-upon-connclose>true</rollback-localtx-upon-connclose>
</xa-params>
that's the setup. now the problem. when using the weblogic-application.xml method, we see various errors with stack traces that look like:
java.sql.SQLException: XA error: XAER_PROTO : Routine was invoked in an inproper context start() failed on resource 'weblogic.jdbc.jta.DataSource': XAER_PROTO : Routine was invoked in an inproper context
javax.transaction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java:1048)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:153)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:617)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1075)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1007)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:203)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:419)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1287)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1250)
this is with using the oracle.jdbc.xa.client.OracleXADataSource driver in the ojdbc14.jar supplied with our weblogic. they don't happen every time a bean uses a connection, and it seems to be fairly consistant where the stack traces occur (when a bean tries to get a connection from the ds).
i grabbed the 10g version of odjbc14.jar from oracle (is there a way to tell specifically what version the ojdbc14.jar is from the jar itself?), and these errors went away. are driver upgrades like this supported by weblogic? i don't want to get into a situation where we have a critical issue and weblogic support tells me it's not a driver they issued. i'd really like to use this driver as to the 8.1.sp2 driver, as the 10g driver now supports clob/blob in a more vendor neutral way.
if anyone has comments/suggestions on this it would be most appreciated.The driver itself is from oracle so any issues with the driver are supported by oracle not by BEA.
I think you should be fine using the latest driver.
sree -
In debugging my XA RAR on WLS 6.1SP2, I found that if the EIS system times
out during an XA transaction,
then an subsequent attempts to access that factory are denied by WLS. Is
this saying that an possible communication
outage on my EIS could force me to re-boot WLS to free up my factory again?
Eric
Deb,
I've retested this again on WLS7 and I get the same results. If I can't
communicate with the EIS system and return the XAException.XAER_RMFAIL,
then subsequent attempts to talk to the EIS system fail until a reboot of
WLS. I
don't understand the logic behind this one. Does this only happen with the
XAER_RMFAIL? Why wouldn't the next attempt still try to connect to the EIS
system? This is a very serious issue for us, since this is saying that if
the mainframe
goes down, then after it comes back up the customer would be forced to
reboot
WLS, not a popular idea. Any ideas on this.
Thanks,
Eric
"Deb June" <[email protected]> wrote in message
news:[email protected]...
>
> Ok. Let us know what you find.
>
>
> > I haven't tested this yet on WLS 7 since on my machine I'm still
running
> >NT and it didn't
> >seem like that is supported by 7. I will get to it this week on a test
> >machine where I've
> >configured WLS 7.
> >
> >Eric
> >"Deb June" <[email protected]> wrote in message
> >news:[email protected]...
> >>
> >> Hi Eric,
> >>
> >> You shouldn't have to reboot. We made some fixes to transactions in 7.0
> >that might
> >> fix this problem. Did you happen to try this on 7.0?
> >>
> >> Thanks!
> >> Deb
> >>
> >> >In debugging my XA RAR on WLS 6.1SP2, I found that if the EIS system
> >times
> >> >out during an XA transaction,
> >> >then an subsequent attempts to access that factory are denied by WLS.
> > Is
> >> >this saying that an possible communication
> >> >outage on my EIS could force me to re-boot WLS to free up my factory
> >again?
> >> >
> >> >Eric
> >> >
> >> >
> >>
> >
> >
>
-
Error while calling ejb service call from BPM service
Hi,
We are using the Oracle 11.1.1.5.0
We are calling ejb service call from BPM service to update the data to Oracle database.
We are getting the below error when we executing the ejb service call from BPM Service.
<Error> <EJB> <BEA-010026> <Exception occurred du
ring commit of transaction Name=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliver
yBean.handleCallback(java.lang.String,java.lang.String,java.lang.String,int,bool
ean)],Xid=BEA1-45B91984D57960994897(30845116),Status=Rolled back. [Reason=javax.
transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a p
articipant in two-phase commit. To force this participation, set the GlobalTrans
actionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhas
eCommit for the Data Source = EBSConnection],numRepliesOwedMe=0,numRepliesOwedOt
hers=0,seconds since begin=1,seconds left=60,XAServerResourceInfo[SOADataSource_
base_domain]=(ServerResourceInfo[SOADataSource_base_domain]=(state=rolledback,as
signed=soa_server1),xar=SOADataSource,re-Registered = false),XAServerResourceInf
o[ArCnTaskForms@EBSConnection@EBSConnection_base_domain]=(ServerResourceInfo[ArC
nTaskForms@EBSConnection@EBSConnection_base_domain]=(state=rolledback,assigned=s
oa_server1),xar=weblogic.jdbc.wrapper.JTSEmulateXAResourceImpl@fa5476,re-Registe
red = false),SCInfo[base_domain+soa_server1]=(state=rolledback),properties=({web
logic.jdbc.remote.EBSConnection=t3://192.168.10.114:8001, weblogic.transaction.n
ame=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean.handleCallback(java.la
ng.String,java.lang.String,java.lang.String,int,boolean)]}),local properties=({w
eblogic.jdbc.jta.SOADataSource=[ No XAConnection is attached to this TxInfo ]}),
OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=soa
server1+192.168.10.114:8001+basedomain+t3+, XAResources={eis/tibjms/Queue, eis
/activemq/Queue, WLStore_base_domain_BPMJMSFileStore, WLStore_base_domain__WLS_s
oa_server1, eis/fioranomq/Topic, eis/jbossmq/Queue, eis/Apps/Apps, eis/websphere
mq/Queue, eis/AQ/aqSample, WLStore_base_domain_SOAJMSFileStore, eis/aqjms/Queue,
WSATGatewayRM_soa_server1_base_domain, eis/sunmq/Queue, eis/pramati/Queue, SSCo
nnectionDS_base_domain, eis/tibjms/Topic, eis/tibjmsDirect/Queue, eis/wls/Queue,
eis/tibjmsDirect/Topic, EDNDataSource_base_domain, eis/wls/Topic, eis/aqjms/Top
ic, RL3TST_base_domain, ArCnTaskForms@EBSConnection@EBSConnection_base_domain, S
OADataSource_base_domain, WLStore_base_domain_UMSJMSFileStore_auto_2},NonXAResou
rces={})],CoordinatorURL=soa_server1+192.168.10.114:8001+base_domain+t3+): weblo
gic.transaction.RollbackException: Could not prepare resource 'ArCnTaskForms@EBS
Connection@EBSConnection_base_domain
JDBC driver does not support XA, hence cannot be a participant in two-phase comm
it. To force this participation, set the GlobalTransactionsProtocol attribute to
LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source
= EBSConnection
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
TransactionImpl.java:1881)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
rverTransactionImpl.java:345)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:239)
at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocal
Object.java:622)
at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetr
y(BaseLocalObject.java:455)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(Sess
ionLocalMethodInvoker.java:52)
at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDelivery
LocalBeanImpl.handleCallback(Unknown Source)
at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMes
sageHandler.handle(CallbackDeliveryMessageHandler.java:47)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
hHelper.java:140)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
hTask.java:88)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
k.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.transaction.xa.XAException: JDBC driver does not support XA, he
nce cannot be a participant in two-phase commit. To force this participation, se
t the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended)
or EmulateTwoPhaseCommit for the Data Source = EBSConnection
at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
a:83)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:1327)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:513)
at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
.>
<12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
0000> <failed to handle message
javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot
be a participant in two-phase commit. To force this participation, set the Globa
lTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateT
woPhaseCommit for the Data Source = EBSConnection
at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
a:83)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:1327)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:513)
at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
>
<12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
0000> <Failed to handle dispatch message ... exception ORABPEL-05002
Message handle error.
error while attempting to process the message "com.collaxa.cube.engine.dispatch.
message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
driver does not support XA, hence cannot be a participant in two-phase commit.
To force this participation, set the GlobalTransactionsProtocol attribute to Log
gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
SConnection
This error contained an exception thrown by the message handler.
Check the exception trace in the log (with logging level set to debug mode).
ORABPEL-05002
Message handle error.
error while attempting to process the message "com.collaxa.cube.engine.dispatch.
message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
driver does not support XA, hence cannot be a participant in two-phase commit.
To force this participation, set the GlobalTransactionsProtocol attribute to Log
gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
SConnection
This error contained an exception thrown by the message handler.
Check the exception trace in the log (with logging level set to debug mode).
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
hHelper.java:207)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
hTask.java:88)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
k.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
>
Could any body help on this issue.It is little bit urgent for us to resolve.
Thanks in advance.Thanks Sudipto Desmukh,
The link is helpful me to resolve this issue.
Thanks,
Narasimha E -
Can't get rid of a TX - message keeps appearing and being processed by OSB
I have some sort of a poison message or TX I can't flush. Every 10 seconds I get a log message like the second one below, and the number of pending messages in multiple places and OSB proxy service messages processed keep climbing - all without producing any new messages on my part. I've tried deleting the default server store on the OSB managed server and the filestore for the JMS server. No luck.
When this first started happening, the error messages looked like the first one below. Something I did caused the change, I assume. However, it's the same TX ID throughout.
So, first, how can I get rid of this thing? It's driving me nuts and keeping me from closing out a POC.
Second, why is it happening? I have one suspicion - could it be because that somehow we configured mutiple domains with the same name for a distributed application? It's not my normal practice but it happened. These domains don't communicate directly, but there are domains that need to communicate with both. So I'm guessing the name ambiguity may be hurting us. Just a guess, though.
In this case, the sgosb domain's proxy service (this domain name is unique) is receiving messages from a queue resident in the pega_domain in Singapore and another proxy service is putting a message to another queue in the pega_domain in the UK. This is not in a single TX; the first proxy service forwards the message to a queue in the sgosb_domain, the second proxy service gets that message and puts it into the other pega_domain. It's an XA TX for each proxy service.
Just to make it more fun, the sgosb_domain has another proxy service reading from a different queue and forwarding it to a queue in the third pega_domain in the US.
TIA for any help or insight.
Oh yes, the OSB domain is WLS 10.3.4, while the pega_domains are WLS 10.3.2
Original error message
####<Apr 13, 2011 4:32:13 AM GMT> <Error> <EJB> <sg01app510> <sgosb_1> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'>
<<anonymous>> <> <92f54a30d60e6302:-4b6d523c:12f4cfeaabc:-8000-0000000000000123> <1302669133597> <BEA-010026> <Exception occurred during commit of
transaction Xid=BEA1-039B0B6D3D0E77C1B135(1898471720),Status=Rolled back. [Reason=Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since
begin=0,seconds left=600,XAServerResourceInfo[WLStore_pega_domain_ProcessEventJMS_Store_mgd1]=(ServerResourceInfo[WLStore_pega_domain_ProcessEventJMS_Store_mgd1]=
(state=new,assigned=none),xar=null,re-Registered = false),SCInfo[sgosb_domain+sgosb_1]=(state=rolledback),SCInfo[pega_domain+pega_1]=(state=rolledback),properties=
({}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=sgosb_1+152.64.128.243:22110+sgosb_domain+t3+, XAResources={eis/tibjms/Topic,
WLStore_sgosb_domain_FileStore_auto_1, eis/aqjms/Queue, eis/wls/Queue, eis/tibjms/Queue, WLStore_sgosb_domain__WLS_sgosb_1, eis/AQ/aqSample, eis/aqjms/Topic,
eis/pramati/Queue, eis/sunmq/Queue, WLStore_sgosb_domain_WseeFileStore_auto_1, WLStore_sgosb_domain_MesssageForwardingJMS_Store_mgd1,
WSATGatewayRM_sgosb_1_sgosb_domain, eis/jbossmq/Queue, eis/activemq/Queue, eis/fioranomq/Topic, eis/tibjmsDirect/Topic, eis/wls/Topic,
eis/tibjmsDirect/Queue, eis/Apps/Apps, eis/webspheremq/Queue},NonXAResources={})],CoordinatorURL=pega_1+nj09mhm5078:22111+pega_domain+t3+):
javax.transaction.RollbackException: This transaction does not exist on the coordinating server. It was probably rolled back and forgotten.
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
at weblogic.transaction.internal.CoordinatorImpl_1032_WLStub.commit(Unknown Source)
at weblogic.transaction.internal.TransactionImpl$1.run(TransactionImpl.java:331)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
at weblogic.transaction.internal.SecureAction.runAction(SecureAction.java:72)
at weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:327)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:252)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:239)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:553)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:424)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:326)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: javax.transaction.RollbackException: This transaction does not exist on the coordinating server. It was probably rolled back and forgotten.
at weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:94)
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
The error message I'm getting now
####<Apr 13, 2011 4:51:38 AM GMT> <Error> <EJB> <sg01app510> <sgosb_1> <[ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <>
<92f54a30d60e6302:-42808c28:12f4d3173cb:-8000-0000000000000032> <1302670298730> <BEA-010026> <Exception occurred during commit of transaction
Xid=BEA1-0011D0679BA5074B8E12(1930603846),Status=Rolled back. [Reason=javax.transaction.xa.XAException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds
left=60,XAServerResourceInfo[WLStore_sgosb_domain_MesssageForwardingJMS_Store_mgd1]=(ServerResourceInfo[WLStore_sgosb_domain_MesssageForwardingJMS_Store_mgd1]=
(state=rolledback,assigned=sgosb_1),xar=WLStore_sgosb_domain_MesssageForwardingJMS_Store_mgd1239571724,re-Registered =
false),XAServerResourceInfo[WLStore_pega_domain_ProcessEventJMS_Store_mgd1]=(ServerResourceInfo[WLStore_pega_domain_ProcessEventJMS_Store_mgd1]=
(state=rolledback,assigned=pega_1),xar=null,re-Registered = false),SCInfo[sgosb_domain+sgosb_1]=(state=rolledback),SCInfo[pega_domain+pega_1]=(state=rolledback),properties=
({}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=sgosb_1+152.64.128.243:22110+sgosb_domain+t3+, XAResources={eis/tibjms/Topic,
WLStore_sgosb_domain_FileStore_auto_1, eis/aqjms/Queue, eis/wls/Queue, eis/tibjms/Queue, WLStore_sgosb_domain__WLS_sgosb_1, eis/AQ/aqSample, eis/aqjms/Topic, eis/pramati/Queue, eis/sunmq
/Queue, WLStore_sgosb_domain_WseeFileStore_auto_1, WLStore_sgosb_domain_MesssageForwardingJMS_Store_mgd1, WSATGatewayRM_sgosb_1_sgosb_domain, eis/jbossmq/Queue, eis/activemq
/Queue, eis/fioranomq/Topic, eis/tibjmsDirect/Topic, eis/wls/Topic, eis/tibjmsDirect/Queue, eis/Apps/Apps, eis/webspheremq/Queue},NonXAResources=
{})],CoordinatorURL=sgosb_1+152.64.128.243:22110+sgosb_domain+t3+): weblogic.transaction.RollbackException: Unknown reason
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1881)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:345)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:239)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:553)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:424)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:326)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: javax.transaction.xa.XAException
at weblogic.store.gxa.internal.GXAResourceImpl.prepare(GXAResourceImpl.java:1227)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:1295)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerResourceInfo.java:500)
at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:380)
at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:2593)
at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(ServerTransactionImpl.java:1321)
at weblogic.transaction.internal.SubCoordinatorImpl.startPrepare(SubCoordinatorImpl.java:183)
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
.>Edited by: SteveElkind on Apr 13, 2011 5:50 AMTom,
Thanks! Succinct and easy to understand as ever.
Yup, that covers it - I had also just seen this in the docs after looking at atheek1's earlier response (thanks to him/her as well). It's covered almost as clearly there as you state it here (http://download.oracle.com/docs/cd/E11035_01/wls100/jta/trxcon.html).
While the ESB domains meet all of those requirements (except for cross-domain security configuration), each of the other two sets of domains (3 in each set) do not meet the naming uniqueness criteria for domain and server names; they do for JMS server names. I saw the store names in the TX identifier string as included resource, and assumed they might play a part - that's why I changed them. As you say, an unnecessary change. Oh well - it was an easy one.
My normal practice has been for unique names in the past, due to problems I had years ago with cross-domain JMS traffic in an earlier WLS version. I guess it's the wrong time to have forgotten that lesson.
Does anyone know of a quick way of changing a domain name quickly without rebuilding the domain? In the past WLST resulted in incomplete copies for me, is that still a problem? Server names are easy, just some global search-and-replace in the config.xml file (and in the management scripts, too)
/Steve
Maybe you are looking for
-
IPod Nano not displaying Twi characters
My iPod Nano is not displaying certain Twi characters in the lyrics section even though in the lyrics sectino of my iTunes, it is being displayed correctly. Below, I have pasted an example of the lyrics for this Twi (a Ghanaian language) song. I don'
-
2 finger scroll doesnt work in Finder after Mavericks update. Macbook pro seems slow and less responsive after the update.
-
Satellite A110-195 lan crashes
Hi My satellite a110-195 crashes when i'm sending files to another lan computer. There's nothing wrowng with the other lan computer because i'm also testing it with an a100-906 and works fine. I've formated hard disk and reinstalled windows xp but th
-
7.02 installation problem
Hello there, I've installed the NetWeaver 7.02 trial before on another pc and the installation went smoothly. Now, I am trying to install it on my work pc for an offline demo I need to do of ABAP Web Dynpro. This is causing me problems. The installer
-
I installed 10.56 and now Migration Assistant isn't working
I had 10.6 on my MBA and because Photoshop wasn't working properly I wanted to go back to 10.56. So I made a clone using Superduper of my drive. Then I installed the 10.56. I wiped the drive clean first. The Bootcamp partition didn't erase though. I