[EJB/JBoss] - JBossLocalXAException after migration from 4.0.5 to 4.2.2
by jeden
Hello,
I've recently upgraded from JBoss AS 4.0.5 to 4.2.2. I've noticed that I frequently get the following error:
12:43:14,682 WARN [loggerI18N] [com.arjuna.ats.internal.jta.transaction.arjunacore.enliststarterror] [com.arjuna.ats.internal.jta.transaction.arjunacore.enliststarterror] TransactionImple.enlistResource - XAResource.start returned: XAException.XAER_PROTO for < 131075, 30, 28, 1--3f57fe94:1272:482c6730:322e-3f57fe94:1272:482c6730:3230 -some square characters here- >
| 12:43:14,682 ERROR [STDERR] org.jboss.resource.connectionmanager.JBossLocalXAException: Trying to start a new tx when old is not complete! old: < 131075, 30, 28, 1--3f57fe94:1272:482c6730:3066-3f57fe94:1272:482c6730:3079 -some square characters here- >, new < 131075, 30, 28, 1--3f57fe94:1272:482c6730:322e-3f57fe94:1272:482c6730:3230 -some square characters here- >, flags 0
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.start(TxConnectionManager.java:886)
| 12:43:14,682 ERROR [STDERR] at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:776)
| 12:43:14,682 ERROR [STDERR] at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:499)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:773)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:564)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:337)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:518)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:399)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
| 12:43:14,682 ERROR [STDERR] at com.banet.engine.utils.DbHelper.getConnection(DbHelper.java:27)
| 12:43:14,682 ERROR [STDERR] at com.banet.testing.ejb.TestingHelper.clearBannerLoadCache(TestingHelper.java:89)
| 12:43:14,682 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor201.invoke(Unknown Source)
| 12:43:14,682 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 12:43:14,682 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
| 12:43:14,682 ERROR [STDERR] at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
| 12:43:14,682 ERROR [STDERR] at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
| 12:43:14,682 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:960)
| 12:43:14,682 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor142.invoke(Unknown Source)
| 12:43:14,682 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 12:43:14,682 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| 12:43:14,682 ERROR [STDERR] at org.jboss.invocation.unified.server.UnifiedInvoker.invoke(UnifiedInvoker.java:231)
| 12:43:14,682 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)
| 12:43:14,682 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 12:43:14,682 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| 12:43:14,682 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| 12:43:14,682 ERROR [STDERR] at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
| 12:43:14,682 ERROR [STDERR] at $Proxy16.invoke(Unknown Source)
| 12:43:14,682 ERROR [STDERR] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
| 12:43:14,682 ERROR [STDERR] at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
| 12:43:14,682 ERROR [STDERR] at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:387)
| 12:43:14,682 ERROR [STDERR] at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
| 12:43:14,682 ERROR [LogInterceptor] EJBException in method: public abstract void com.banet.testing.interfaces.TestingHelper.clearBannerLoadCache() throws java.rmi.RemoteException, causedBy:
| org.jboss.util.NestedSQLException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fe94:1272:482c6730:322e status: ActionStatus.ABORT_ONLY >); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fe94:1272:482c6730:322e status: ActionStatus.ABORT_ONLY >))
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:94)
| at com.banet.engine.utils.DbHelper.getConnection(DbHelper.java:27)
| at com.banet.testing.ejb.TestingHelper.clearBannerLoadCache(TestingHelper.java:89)
| at sun.reflect.GeneratedMethodAccessor201.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
| at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
| at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
| at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
| at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
| at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
| at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
| at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
| at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
| at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
| at org.jboss.ejb.Container.invoke(Container.java:960)
| at sun.reflect.GeneratedMethodAccessor142.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.invocation.unified.server.UnifiedInvoker.invoke(UnifiedInvoker.java:231)
| at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
| at $Proxy16.invoke(Unknown Source)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:387)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
| Caused by: org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fe94:1272:482c6730:322e status: ActionStatus.ABORT_ONLY >)
| at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:343)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:518)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:399)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
| ... 41 more
| Caused by: javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fe94:1272:482c6730:322e status: ActionStatus.ABORT_ONLY >
| at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.checkEnlisted(TxConnectionManager.java:744)
| at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:577)
| at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:337)
| ... 45 more
The project I'm working on uses 1 MySQL database, and access to the db is made through EJB 2.1 and a couple of 3.0. Most of the EJB are CMP, but there are some 2.1 BMP.
>From what I can figure out by looking at the errors above, it looks like BMPs are responsible, as the exception occurs when they attempt to obtain a database connection.
What's strange, this exception is thrown 90% of times, but there are some cases there is no error. By that I mean that 9 times out of 10 my 131 test cases fail, and 1 time I have no error - apparently in a random way
Any idea why this happens?
Reading on other forum posts I figured out that this usually happens when accessing 2 or more databases, but this is not my case.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4151178#4151178
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4151178
18 years, 2 months
[JBoss Cache: Core Edition] - Re: Remoting On Existing POJO Channel
by kblanken
My JGroups version is 2.4.2. So far I haven't found anything on their site, but I'm still searching.
The Multiplexer doesn't seem to be the reason anyway. I've narrowed down the problem to the following code:
// Builds a properties String
| JGroupsProperties props = new JGroupsProperties();
|
| JChannel channel = new JChannel(props.getProps());
| cache = new TreeCache(channel);
| cache.setCacheMode(TreeCache.REPL_SYNC);
|
| // Uncomment to prevent wait lock:
| // channel.connect(cacheName);
| // View view = channel.getView();
| // if (cache.getMembers()==null || cache.getMembers().size()==0) {
| // cache.getMembers().addAll(view.getMembers());
| // }
|
| cache.startService();
This code hangs with the stacktrace posted earlier. The viewChanged method is never called.
By enabling the commented out code a different behaviour is triggered in TreeCache.getCoordinator(), bypassing the members.wait(). This is probably a very crude workaround I'd rather not keep as a final solution.
The wait seems to have been introduced in http://jira.jboss.com/jira/browse/JBCACHE-507.
My system is a Windows XP machine, UDP loopback is enabled.
I see the original error might indeed lie in JGroups, which doesn't pass down/up the view change event generated by the first member. Can you confirm this? Where is the join event triggered in TreeCache?
Any help is really appreciated. I'll gladly run some tests if you need me to.
Regards,
Kai
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4151176#4151176
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4151176
18 years, 2 months