1 2 Previous Next 29 Replies Latest reply on Nov 17, 2014 8:47 AM by dmlloyd

    Subtransactions: still stuck with 8.1

    lindner

      Once again: We are still on JBoss 5.1 because of the following unresolved problem:

       

      In JBoss 5 it was possible to configure server/standard/conf/jbossts-properties.xml with settings like

              <property name="com.arjuna.ats.jta.supportSubtransactions" value="YES"/>

              <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>

      to support nested transactions.

       

      How is this handled in Wildfly?

       

      We have two different persistence contexts A and B. Inside of a Session Bean of contex A we call


              SessionBean v = getSessionBeanFromContextB();

              v.doSomeActionsInContextB();

       

      and the method doSomeActionsInContextB() is marked with

              @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

              public void doSomeActionsInContextB() {

              ...

              }


      We tried to adopt the example "Java Transaction Service - Distributed EJB Transactions Across Multiple Containers" from http://www.jboss.org//quickstarts/eap/jts/index.html but this example is outdated and did not lead to success. Adding


              <subsystem xmlns="urn:jboss:domain:transactions:1.2">

                    <core-environment node-identifier="${jboss.tx.node.id}">

                    <!-- LEAVE EXISTING CONFIG AND APPEND THE FOLLOWING -->

                    <jts/>

              </subsystem>

       

      leads to different error messages but still does not solve our problem.




      To explain it more detailled:


      A separately developed service in it's own persistence context B provides some EntityBeans. Applications use this Services of B. In JBoss 5.1 it was not possible to call


              EntityBean b = B.getMeSomeEntityBean();

              b.getSomeProperty();


      out of the box. This had to be done within a subtransaction. This was achieved by forcing a new transaction with


              @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

              public EntityBean getMeSomeEntityBean()


      and by modifying JBoss' configuration as described e.g. in https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/4.2/html-single/JBoss_Transactions_J…


      How can this be handled in Wildfly 8.1?

        • 1. Re: Subtransactions: still stuck with 8.1
          dmlloyd

          So you're essentially using nested transactions to get a separate persistence context but in the same overall transaction, by taking advantage of the association between transaction and persistence context?

          • 2. Re: Subtransactions: still stuck with 8.1
            lindner

            Yes! Trying to handle all with XA-Transactions leads to

             

            WARN  [com.arjuna.ats.jtax] (RequestProcessor-5) ARJUNA024015: XAResource prepare failed on resource XAResourceWrapperImpl@295e6f40[xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@58516430 pad=false overrideRmValue=null productName=INGRES productVersion=II 9.2.4 (a64.sol/100) jndiName=java:/VISIODESK_DS] for transaction < 131072, 29, 36, 0000000000-1-1-64-88-34-11865119-60748492-11-9800146749, 292929292929292929292828-35-59-5-8994148-3110311312118-69292943967829292929292929 > with: XAException.XAER_NOTA: javax.transaction.xa.XAException

                    at com.ingres.gcf.jdbc.JdbcXAConn.prepare(JdbcXAConn.java:1090)

                    at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.prepare(XAManagedConnection.java:330)

                    at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.prepare(XAResourceWrapperImpl.java:169)

                    at com.arjuna.ats.internal.jta.resources.jts.orbspecific.XAResourceRecord.prepare(XAResourceRecord.java:231) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

                    at com.arjuna.ArjunaOTS.OTSAbstractRecordPOA._invoke(OTSAbstractRecordPOA.java:83) [narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]

                    at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:306) [jacorb-2.3.2-jbossorg-5.jar:2.3.2-jbossorg-5]

                    at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:626) [jacorb-2.3.2-jbossorg-5.jar:2.3.2-jbossorg-5]

                    at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:769) [jacorb-2.3.2-jbossorg-5.jar:2.3.2-jbossorg-5]

             

             

            WARN  [com.arjuna.ats.arjuna] (default task-19) ARJUNA012073: BasicAction.End() - prepare phase of action-id 0:ffffc0a8de8a:4177c44a:545cf59e:e43 failed.

            WARN  [com.arjuna.ats.arjuna] (default task-19) ARJUNA012075: Action Aborting

            WARN  [com.arjuna.ats.jts] (RequestProcessor-5) ARJUNA022261: ServerTopLevelAction detected that the transaction was inactive

            WARN  [org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorTrackingImpl] (RequestProcessor-5) HHH000451: Transaction afterCompletion called by a background thread; delaying afterCompletion processing until the original thread can handle it. [status=4]

            WARN  [com.arjuna.ats.jts] (RequestProcessor-5) ARJUNA022261: ServerTopLevelAction detected that the transaction was inactive

            WARN  [org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorTrackingImpl] (RequestProcessor-5) HHH000451: Transaction afterCompletion called by a background thread; delaying afterCompletion processing until the original thread can handle it. [status=4]

            ERROR [stderr] (default task-19) org.omg.CORBA.TRANSACTION_ROLLEDBACK

            ERROR [stderr] (default task-19)   at com.arjuna.ats.internal.jts.orbspecific.coordinator.ArjunaTransactionImple.commit(ArjunaTransactionImple.java:414)

            ERROR [stderr] (default task-19)   at com.arjuna.ats.internal.jts.ControlWrapper.commit(ControlWrapper.java:243)

            ERROR [stderr] (default task-19)   at com.arjuna.ats.internal.jts.orbspecific.CurrentImple.commit(CurrentImple.java:247)

            ERROR [stderr] (default task-19)   at com.arjuna.ats.jts.extensions.AtomicTransaction.commit(AtomicTransaction.java:276)

            ERROR [stderr] (default task-19)   at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.commitAndDisassociate(TransactionImple.java:1310)

            ERROR [stderr] (default task-19)   at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.commit(BaseTransaction.java:130)

            ERROR [stderr] (default task-19)   at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:93)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:340)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:95)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)

            ERROR [stderr] (default task-19)   at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:448)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

            ERROR [stderr] (default task-19)   at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185)

            ERROR [stderr] (default task-19)   at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)

            ERROR [stderr] (default task-19)   at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

            ERROR [stderr] (default task-19)   at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)

            ERROR [stderr] (default task-19)   at de.visiodesk.formulare.FormularControllerLocal$$$view15.findUnspezifischesFormularAll(Unknown Source)

            ERROR [stderr] (default task-19)   at de.visiodesk.formulare.unspezifisch.druck.gruppe.GruppenBedarfsformulareDataProvider.<init>(GruppenBedarfsformulareDataProvider.java:21)

            ERROR [stderr] (default task-19)   at de.visiodesk.formulare.unspezifisch.druck.gruppe.GruppenBedarfsformularFuerAlleIcon.<init>(GruppenBedarfsformularFuerAlleIcon.java:33)

            ERROR [stderr] (default task-19)   at de.visiodesk.termin.bausteine.TerminformAnmerkungenPanel.<init>(TerminformAnmerkungenPanel.java:44)

            ERROR [stderr] (default task-19)   at de.visiodesk.termin.bausteine.AbstractTerminKomplettMitResUndPatientPanel$TerminForm.<init>(AbstractTerminKomplettMitResUndPatientPanel.java:278)

            ERROR [stderr] (default task-19)   at de.visiodesk.termin.bausteine.AbstractTerminKomplettMitResUndPatientPanel.<init>(AbstractTerminKomplettMitResUndPatientPanel.java:102)

            ERROR [stderr] (default task-19)   at de.visiodesk.termin.bausteine.AbstractTerminKomplettMitResUndPatientPanel.<init>(AbstractTerminKomplettMitResUndPatientPanel.java:63)

            ERROR [stderr] (default task-19)   at de.visiodesk.gruppenplanung.gruppe.GruppenterminPanel.<init>(GruppenterminPanel.java:93)

            ERROR [stderr] (default task-19)   at de.visiodesk.gruppenplanung.gruppe.GruppenterminPanel.<init>(GruppenterminPanel.java:52)

            ERROR [stderr] (default task-19)   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

            ERROR [stderr] (default task-19)   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

            ERROR [stderr] (default task-19)   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

            ERROR [stderr] (default task-19)   at java.lang.reflect.Constructor.newInstance(Constructor.java:408)

            ERROR [stderr] (default task-19)   at de.visionet.wicket.components.dialog.page.StandardDialogPopupPage.createPanel(StandardDialogPopupPage.java:297)

            ERROR [stderr] (default task-19)   at de.visionet.wicket.components.dialog.page.StandardDialogPopupPage.<init>(StandardDialogPopupPage.java:47)

            ERROR [stderr] (default task-19)   at de.visionet.wicket.components.dialog.embeddableControl.VAbstractModalDialogPopupForAbstractDialogPopupPanel$1.<init>(VAbstractModalDialogPopupForAbstractDialogPopupPanel.java:76)

            ERROR [stderr] (default task-19)   at de.visionet.wicket.components.dialog.embeddableControl.VAbstractModalDialogPopupForAbstractDialogPopupPanel.openForEdit(VAbstractModalDialogPopupForAbstractDialogPopupPanel.java:76)

            ERROR [stderr] (default task-19)   at de.visionet.wicket.components.dialog.embeddableControl.VAbstractModalDialogPopupForAbstractDialogPopupPanel.openForEdit(VAbstractModalDialogPopupForAbstractDialogPopupPanel.java:132)

            ERROR [stderr] (default task-19)   at de.visiodesk.wrapper.dialog.popupController.VisioDeskSimpleModalDialogPopupForAbstractTerminKomlett.terminBearbeiten(VisioDeskSimpleModalDialogPopupForAbstractTerminKomlett.java:73)

            ERROR [stderr] (default task-19)   at de.visiodesk.tagesansicht.TagesansichtPanel$10$1$1.onClickBelegterTermin(TagesansichtPanel.java:669)

            ERROR [stderr] (default task-19)   at de.visiodesk.stundenplan.generisch.GenericTagSpaltePanel$5.onClick(GenericTagSpaltePanel.java:484)

            ERROR [stderr] (default task-19)   at de.visiodesk.stundenplan.generisch.GenericBelegterTerminPanel$3.onElementClick(GenericBelegterTerminPanel.java:134)

            ERROR [stderr] (default task-19)   at de.visiodesk.stundenplan.generisch.GenericDraggableLink.onClick(GenericDraggableLink.java:53)

            ERROR [stderr] (default task-19)   at org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:68)

            ERROR [stderr] (default task-19)   at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

            ERROR [stderr] (default task-19)   at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:302)

            ERROR [stderr] (default task-19)   at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:157)

            ERROR [stderr] (default task-19)   at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

            ERROR [stderr] (default task-19)   at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1252)

            ERROR [stderr] (default task-19)   at org.apache.wicket.RequestCycle.step(RequestCycle.java:1331)

            ERROR [stderr] (default task-19)   at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1438)

            ERROR [stderr] (default task-19)   at org.apache.wicket.RequestCycle.request(RequestCycle.java:546)

            ERROR [stderr] (default task-19)   at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)

            ERROR [stderr] (default task-19)   at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)

            ERROR [stderr] (default task-19)   at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)

            ERROR [stderr] (default task-19)   at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)

            ERROR [stderr] (default task-19)   at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

            ERROR [stderr] (default task-19)   at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)

            ERROR [stderr] (default task-19)   at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)

            ERROR [stderr] (default task-19)   at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)

            ERROR [stderr] (default task-19)   at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

            ERROR [stderr] (default task-19)   at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)

            ERROR [stderr] (default task-19)   at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

            ERROR [stderr] (default task-19)   at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)

            ERROR [stderr] (default task-19)   at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)

            ERROR [stderr] (default task-19)   at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)

            ERROR [stderr] (default task-19)   at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)

            ERROR [stderr] (default task-19)   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

            ERROR [stderr] (default task-19)   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

            ERROR [stderr] (default task-19)   at java.lang.Thread.run(Thread.java:745)

            ERROR [org.jboss.as.ejb3.invocation] (default task-19) JBAS014134: EJB Invocation failed on component FormularControllerImpl for method public abstract java.util.List de.visiodesk.formulare.FormularController.findUnspezifischesFormularAll(de.visiodesk.formulare.UnspezifischesFormularTyp[]) throws java.lang.Exception: javax.ejb.EJBTransactionRolledbackException: Transaction rolled back

                    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleEndTransactionException(CMTTxInterceptor.java:139) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

                    at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:119) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

                    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

                    at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:340) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

                    at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

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

                    at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

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

                    at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

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

                    at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:95) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

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

                    at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

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

                    at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

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

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

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

                    at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                    at de.visiodesk.formulare.FormularControllerLocal$$$view15.findUnspezifischesFormularAll(Unknown Source) [VisioDesk3.jar:]

                    at de.visiodesk.formulare.unspezifisch.druck.gruppe.GruppenBedarfsformulareDataProvider.<init>(GruppenBedarfsformulareDataProvider.java:21)

                    at de.visiodesk.formulare.unspezifisch.druck.gruppe.GruppenBedarfsformularFuerAlleIcon.<init>(GruppenBedarfsformularFuerAlleIcon.java:33)

                    at de.visiodesk.termin.bausteine.TerminformAnmerkungenPanel.<init>(TerminformAnmerkungenPanel.java:44)

                    at de.visiodesk.termin.bausteine.AbstractTerminKomplettMitResUndPatientPanel$TerminForm.<init>(AbstractTerminKomplettMitResUndPatientPanel.java:278)

                    at de.visiodesk.termin.bausteine.AbstractTerminKomplettMitResUndPatientPanel.<init>(AbstractTerminKomplettMitResUndPatientPanel.java:102)

                    at de.visiodesk.termin.bausteine.AbstractTerminKomplettMitResUndPatientPanel.<init>(AbstractTerminKomplettMitResUndPatientPanel.java:63)

                    at de.visiodesk.gruppenplanung.gruppe.GruppenterminPanel.<init>(GruppenterminPanel.java:93)

                    at de.visiodesk.gruppenplanung.gruppe.GruppenterminPanel.<init>(GruppenterminPanel.java:52)

                    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.8.0_20]

                    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [rt.jar:1.8.0_20]

                    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.8.0_20]

                    at java.lang.reflect.Constructor.newInstance(Constructor.java:408) [rt.jar:1.8.0_20]

                    at de.visionet.wicket.components.dialog.page.StandardDialogPopupPage.createPanel(StandardDialogPopupPage.java:297)

                    at de.visionet.wicket.components.dialog.page.StandardDialogPopupPage.<init>(StandardDialogPopupPage.java:47)

                    at de.visionet.wicket.components.dialog.embeddableControl.VAbstractModalDialogPopupForAbstractDialogPopupPanel$1.<init>(VAbstractModalDialogPopupForAbstractDialogPopupPanel.java:76)

                    at de.visionet.wicket.components.dialog.embeddableControl.VAbstractModalDialogPopupForAbstractDialogPopupPanel.openForEdit(VAbstractModalDialogPopupForAbstractDialogPopupPanel.java:76)

                    at de.visionet.wicket.components.dialog.embeddableControl.VAbstractModalDialogPopupForAbstractDialogPopupPanel.openForEdit(VAbstractModalDialogPopupForAbstractDialogPopupPanel.java:132)

                    at de.visiodesk.wrapper.dialog.popupController.VisioDeskSimpleModalDialogPopupForAbstractTerminKomlett.terminBearbeiten(VisioDeskSimpleModalDialogPopupForAbstractTerminKomlett.java:73)

                    at de.visiodesk.tagesansicht.TagesansichtPanel$10$1$1.onClickBelegterTermin(TagesansichtPanel.java:669)

                    at de.visiodesk.stundenplan.generisch.GenericTagSpaltePanel$5.onClick(GenericTagSpaltePanel.java:484)

                    at de.visiodesk.stundenplan.generisch.GenericBelegterTerminPanel$3.onElementClick(GenericBelegterTerminPanel.java:134)

                    at de.visiodesk.stundenplan.generisch.GenericDraggableLink.onClick(GenericDraggableLink.java:53)

                    at org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:68)

                    at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

                    at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:302)

                    at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:157)

                    at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

                    at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1252)

                    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1331)

                    at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1438)

                    at org.apache.wicket.RequestCycle.request(RequestCycle.java:546)

                    at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)

                    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319)

                    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)

                    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)

                    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)

                    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)

                    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)

                    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)

                    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

                    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)

                    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)

                    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

                    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)

                    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)

                    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)

                    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)

                    at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)

                    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

                    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)

                    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

                    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)

                    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)

                    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)

                    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)

                    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)

                    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)

                    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)

                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_20]

                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_20]

                    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_20]

            Caused by: javax.transaction.RollbackException: org.omg.CORBA.TRANSACTION_ROLLEDBACK

                    at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.commitAndDisassociate(TransactionImple.java:1338)

                    at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.commit(BaseTransaction.java:130)

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

                    at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:93) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]

                    ... 95 more

            • 3. Re: Subtransactions: still stuck with 8.1
              smarlow

              You should enable TRACE logging for the involved layers.  That will give you a better idea of what is going on.  A documentation link is here that explains how to enable TRACE logging.  You should at least enable TRACE logging for com.arjuna + org.jboss.as.jpa.  You might also jboss.jdbc.spy (see description in above doc for special steps) and org.hibernate.

               

              Also, if you are enlisting more than one XAResource per transaction, you will need a new JCA implementation to avoid a problem where the second XAResource is delisted too soon.  How many different datasources are you referencing from your persistence.xml?

              • 4. Re: Subtransactions: still stuck with 8.1
                lindner

                We use two datasources in each persistence.

                 

                Before we are going to investigate: Is our attempt the correct? Is this the right way do call methods in other EARs and to pass EntityBeans from one persistence context to another?

                 

                What does this mean for us: "you will need a new JCA implementation to avoid a problem where the second XAResource is delisted too soon"? Does this alternat implementation already exist? Where can we get it? Or do we need to modify the JCA implementation by ourseves?

                Is this problem addresses in 8.2/9.0?

                where can we find an actual documentation for this?

                • 5. Re: Subtransactions: still stuck with 8.1
                  dmlloyd

                  I will be honest, I'm not an expert in old-style CMP, but it seems to me you could possibly solve your problem using interceptors to suspend the EntityManager and cause a new one to be created for the duration of the invocation.  I think you may have to delve into unsupported APIs to do so though.

                  • 6. Re: Subtransactions: still stuck with 8.1
                    smarlow

                    Stefan Lindner wrote:

                     

                    We use two datasources in each persistence.

                     

                    ...

                    What does this mean for us: "you will need a new JCA implementation to avoid a problem where the second XAResource is delisted too soon"? Does this alternat implementation already exist? Where can we get it? Or do we need to modify the JCA implementation by ourseves?

                    Is this problem addresses in 8.2/9.0?

                    where can we find an actual documentation for this?

                     

                    [WFLY-3619 is the original reported issue that was worked around by [WFLY-3912] for 8.2 + 9.0.  You could grab a nightly build for 9.0 here.

                    • 7. Re: Subtransactions: still stuck with 8.1
                      dmlloyd

                      Scott, I think the issue here is related to EJB 2 container-managed persistence, not JPA.

                      • 8. Re: Subtransactions: still stuck with 8.1
                        lindner

                        It's not an ejb2 issue, it's a whole ejb 3.0 application

                        I will try a current nightly build

                        • 9. Re: Subtransactions: still stuck with 8.1
                          dmlloyd

                          EJB3 is backwards compatible.  Anything using the interface javax.ejb.EntityBean is a CMP entity bean, not JPA, even if you use EJB 3 annotations and so forth.

                          • 10. Re: Subtransactions: still stuck with 8.1
                            lindner

                            I'm sorry for my unclear posting. It is not a EJB2 application. I'ts based upon POJOs annotated with javax.persistence.Entity as described in JSR 220: "Enterprise JavaBeansTM,Version 3.0".

                            From a ling life as JAva developer (having suffered from EJB2) I'm still accustomed to call Beans that are managedby a JEE servar as "Entityeans". Sorry.

                            • 11. Re: Subtransactions: still stuck with 8.1
                              lindner

                              Now did a test with 9.0 Alpha 1. Still the same problem.

                              • 12. Re: Subtransactions: still stuck with 8.1
                                lindner

                                Now with current nightly build self entitled Wildfly 1.0.0-RC3

                                 

                                Still the same problems. Once again my question: What's the correct way to call methods of SessionBeans in other context and transferring Bean from one context to another?

                                • 13. Re: Subtransactions: still stuck with 8.1
                                  smarlow

                                  Just to give me a clearer view of your requirements:

                                   

                                  1. Are you making EJB calls in the same JVM process?
                                  2. Are you making EJB calls between two separately deployed applications in the same JVM process?
                                  3. Are you making EJB calls between separate applications that are deployed in separate JVM process?

                                   

                                  From your earlier questions, I assume that the answer to #3 is yes but pleas answer anyway.  I think that applications often do what you want, without trouble, when they answer yes to #1 (they typically use the default WildFly configuration settings (no JTS)).  Doing #2 is little harder but not difficult with the default WildFly settings (no JTS).  Where #2 gets difficult, is when we have to propagate the transaction context, from the client making the EJB call, to the called EJB.  Propagating the transaction context from the client, to the server, is typically done with JTS.  I think  that also have some extensions that allow transaction propagation when JTS is disabled but I'm not sure of the status of that.

                                   

                                  For doing #3, the level of difficulty also depends on whether you need to propagate the transaction context.

                                   

                                  I think that in either #2 or #3, the transaction context will be propagated if the client side session bean has an active transaction, since the client doesn't know if the target remote EJB session bean method, will use the transaction or not.  At least, this is my current understanding.  You will get much further by enabling TRACE logging to show what is going on.

                                   

                                  Read this description of how to enable trace logging and enable it for:

                                  • org.jboss.as.jpa - this will show when an existing container managed persistence context (is reused from the active transaction) versus when a new EntityManager instance is created for your calls to EntityManager (in transactions).  A bit more than that is shown (like how long each EntityManager call took, which gives you an idea of what happened that can be correlated back to your application).
                                  • org.hibernate.SQL - shows Hibernate generated SQL
                                  • com.arjuna - shows transaction manager activity, this is the most important category as it shows when a transaction is active, suspended, resumed, created. 

                                   

                                  The idea of enabling the TRACE logging, is so you can see what is going on, especially when you try different coding changes.

                                   

                                  Also, you probably already know this but you can refer to the https://docs.oracle.com/javaee/6/api/javax/ejb/TransactionAttributeType.html doc about the different options for transactions.  Requres New should be suspending the current transaction and starting a new one for the called EJB method.  When the called method is complete, the previous transaction state is resumed.

                                   

                                  Hope this is helpful.

                                   

                                  Scott

                                  • 14. Re: Subtransactions: still stuck with 8.1
                                    dmlloyd

                                    Just to be very clear, you should not even touch JTS unless you're actually using CORBA/IIOP to make EJB invocations between containers.  WildFly has a JTA-based transaction distribution mechanism which is automatically used and should always be used (except for the CORBA case).

                                    1 2 Previous Next