3 Replies Latest reply on Sep 1, 2017 9:31 AM by Nuno Godinho de Matos

    Wildfly + Eclipselink - During deployment - Consistently get a IJ000152 exception - CachedConnectionManagerImpl.unregisterConnection

    Nuno Godinho de Matos Newbie

      Hi,

       

      During deployment of a specific application, I consistently see the following exception.

       

      2017-08-14 14:58:47,538 INFO  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (thread: ServerService Thread Pool -- 110) IJ000311: Throwable from unregister connection: java.lang.IllegalStateException: IJ000152: Trying to return an unknown connection: org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7@7312add9

      at org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl.unregisterConnection(CachedConnectionManagerImpl.java:408)

      at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.connectionClosed(TxConnectionListener.java:645)

      at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.returnHandle(BaseWrapperManagedConnection.java:596)

      at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManagedConnection.java:541)

      at org.jboss.jca.adapters.jdbc.WrappedConnection.returnConnection(WrappedConnection.java:298)

      at org.jboss.jca.adapters.jdbc.WrappedConnection.close(WrappedConnection.java:256)

      at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.closeDatasourceConnection(DatabaseAccessor.java:495)

      at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.closeConnection(DatasourceAccessor.java:520)

      at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.closeConnection(DatabaseAccessor.java:520)

      at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.closeJTSConnection(DatasourceAccessor.java:187)

      at org.eclipse.persistence.sessions.server.ClientSession.releaseJTSConnection(ClientSession.java:168)

      at org.eclipse.persistence.transaction.AbstractSynchronizationListener.beforeCompletion(AbstractSynchronizationListener.java:175)

      at org.eclipse.persistence.transaction.JTASynchronizationListener.beforeCompletion(JTASynchronizationListener.java:68)

       

       

      <------- This code line here is very relevant, beause we already know of one bug between wildfly and eclipselijnk integrating during event

      ----- observation related to when CDI is firing the events and when CDI is synchronizing the commit done in the transaciton

      ----- Things happen in the wrong order.

      ----- But the issue may in any case be unrelated... or not.

       

       

      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:368)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)

      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1200)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)

      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:89)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:91)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:279)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:344)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:241)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)

      at org.jboss.as.ejb3.concurrency.ContainerManagedConcurrencyInterceptor.processInvocation(ContainerManagedConcurrencyInterceptor.java:110)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)

      at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)

      at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)

      at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

      at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)

      at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

      at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)

      at someEjbObservigingAnEventStatingThatTheAppServerIsStarted$$$view67.observeEventOnNewTransactionOnTHisEjb(Unknown Source)

      <------- This is the guy that requiring a new JTA transaction for observing the event

       

       

       

       

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:433)

      at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:128)

      at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)

      at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)

      at  someEjbObservigingAnEventStatingThatTheAppServerIsStartedl$Proxy$_$$_Weld$EnterpriseProxy$.onStartup(Unknown Source)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)

      at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:78)

      at org.jboss.weld.injection.MethodInvocationStrategy$SimpleMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:129)

      at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:313)

      at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:291)

      at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:269)

      at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:302)

      at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:291)

      at org.jboss.weld.event.EventImpl.fire(EventImpl.java:89)

      at TheStartupEJBThatIsFiringACdiEventNotifyinAppIsStarted.init(EagerInitializer.java:90)

      <------- This is the guy that is firing the cdi event event

       

       

       

       

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)

      at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)

      at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)

      at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)

      at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)

      at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

      at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.singleton.SingletonComponentInstanceAssociationInterceptor.processInvocation(SingletonComponentInstanceAssociationInterceptor.java:53)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:254)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:329)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)

      at org.jboss.as.ejb3.concurrency.ContainerManagedConcurrencyInterceptor.processInvocation(ContainerManagedConcurrencyInterceptor.java:110)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)

      at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)

      at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)

      at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

      at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)

      at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

      at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)

      at TheStartupEJBThatIsFiringACdiEventNotifyinAppIsStarted$$$view132.init(Unknown Source)

       

       

       

       

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:433)

      at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:128)

      at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)

      at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)

      at TheStartupEJBThatIsFiringACdiEventNotifyinAppIsStarted$Proxy$_$$_Weld$EnterpriseProxy$.init(Unknown Source)

       

       

       

       

      at TheStartupEJBThatIsFiringACdiEventNotifyinAppIsStartedStarter.init(EagerInitializerStarter.java:68)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:96)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)

      at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:70)

      at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doLifecycleInterception(Jsr299BindingsInterceptor.java:117)

      at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:103)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)

      at SomeArbitraryLoggingInterceptor.intercept(PostConstructLogExecutionInterceptor.java:85)

       

       

       

       

       

       

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:498)

      at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:84)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)

      at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)

      at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:53)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.weld.injection.WeldInterceptorInjectionInterceptor.processInvocation(WeldInterceptorInjectionInterceptor.java:56)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ee.component.ComponentInstantiatorInterceptor.processInvocation(ComponentInstantiatorInterceptor.java:74)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.weld.ejb.Jsr299BindingsCreateInterceptor.processInvocation(Jsr299BindingsCreateInterceptor.java:100)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)

      at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:349)

      at org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:68)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.weld.injection.WeldInjectionContextInterceptor.processInvocation(WeldInjectionContextInterceptor.java:43)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.as.ejb3.component.singleton.StartupCountDownInterceptor.processInvocation(StartupCountDownInterceptor.java:25)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)

      at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)

      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

      at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)

      at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:134)

      at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:88)

      at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:124)

      at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:138)

      at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)

      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

      at java.util.concurrent.FutureTask.run(FutureTask.java:266)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

      at java.lang.Thread.run(Thread.java:748)

      at org.jboss.threads.JBossThread.run(JBossThread.java:320)

       

       

      This exception sees to be a "payback" for having a @Sartup @Singleton bean that on startup and behaind a @TransactionAttribute(requiresNew) inserts some configuration values into the database.

       

      Essentially, during startup, there is root ejb A that has the @Startup flag and fires a CDI event indicating that the app server is now fully initialized.

      Arbitrary observers might exist consuming this event.

      Observers will typically be @Stalless ejbs, that will be using the implicit transaction context open by the container when no specific Transaction Attribute requires new is used.

      This particular EJB however, is not using the implicit transaction it is flagged to say it was a completely new transaction.

      And as a result, on Wildfly and only on wildfly, do I have such an exception.

       

      Any ideas what would explain this phenomena?

       

      I believe that on the DB layer there are least two transactions while observing this event.

      The main JTA transaction that is being use by all stateless ejbs observing the event and not requiring an explicit dedicated transaction.

      And this specific EJB that wants to have its own dedicated transaction.

       

      This issue might be related to the OnObservers event on wildfly with eclipselink integration, whereby the CDI publishing of the event is done before JTA synchronization.

       

      Thanks for any input of this, if anyone has an idea.

      I have not attempted to reproduce this in a sample application.

       

      Any lights on this would be interesting.

       

      Kindest regards.