[
https://issues.jboss.org/browse/JBTM-2623?page=com.atlassian.jira.plugin....
]
Michael Musgrove commented on JBTM-2623:
----------------------------------------
I have created a branch that fixes the blockers
(
https://github.com/jbosstm/narayana/tree/JBTM-223/interop) and also a wilfly branch that
removes the EJB interceptor that blocks the import of foreign transactions
(
https://github.com/jbosstm/jboss-as/tree/5_BRANCH_JBTM-223). The interop/README.md file
in the JBTM-223 branch describes how to test transaction propagation and recovery.
Check Glassfish-to-Narayana interoperability (via JTS).
-------------------------------------------------------
Key: JBTM-2623
URL:
https://issues.jboss.org/browse/JBTM-2623
Project: JBoss Transaction Manager
Issue Type: Task
Components: JTS
Affects Versions: 5.2.13.Final
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Priority: Minor
Fix For: 5.next
This task facilitates the resolution of JBTM-223 Check WL-to-JBossTS interoperability
(via JTS).
Whilst developing a test for recovery with WebLogic I was unable to make progress due to
issue \[1\] (basically registering resources for recovery fails). Checking recovery using
glassfish may be easier since the source code is readily available and may help with
figuring out the correct solution with WL.
\[1\] According to
[
https://docs.oracle.com/cd/E12839_01/web.1111/e13731/jtatxexp.htm#WLJTA279]
XA resources can be registered for recovery via a singleton bean that runs at start up
and registers them with the WL transaction manager. When I do this I get the exception as
shown:
{quote}
javax.transaction.SystemException: Resource 'Dummy'can be registered only in a
server process
at
org.glassfish.transaction.TransactionManagerImplCommon.registerStaticResource(TransactionManagerImplCommon.java:695)
at org.jboss.narayana.RecoveryBean.register(RecoveryBean.java:61)
at org.jboss.narayana.RecoveryBean.init(RecoveryBean.java:30)
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:483)
at
com.oracle.pitchfork.inject.Jsr250Metadata.invokeLifecycleMethod(Jsr250Metadata.java:377)
at
com.oracle.pitchfork.inject.Jsr250Metadata.invokeLifecycleMethods(Jsr250Metadata.java:352)
at
com.oracle.pitchfork.intercept.InterceptionMetadata.invokeLifecycleMethods(InterceptionMetadata.java:399)
at
weblogic.ejb.container.injection.EjbComponentCreatorImpl.invokePostConstruct(EjbComponentCreatorImpl.java:55)
at
weblogic.ejb.container.manager.SingletonSessionManager.constructAndInitBean(SingletonSessionManager.java:330)
at
weblogic.ejb.container.manager.SingletonSessionManager.access$300(SingletonSessionManager.java:62)
at
weblogic.ejb.container.manager.SingletonSessionManager$SingletonLifecycleManager.doActualInit(SingletonSessionManager.java:753)
at
weblogic.ejb.container.manager.SingletonSessionManager$SingletonLifecycleManager.initInternal(SingletonSessionManager.java:701)
at
weblogic.ejb.container.manager.SingletonSessionManager$SingletonLifecycleManager.init(SingletonSessionManager.java:588)
at
weblogic.ejb.container.manager.SingletonSessionManager.init(SingletonSessionManager.java:255)
at
weblogic.ejb.container.manager.SingletonSessionManager.perhapsInit(SingletonSessionManager.java:251)
at weblogic.ejb.container.deployer.EJBDeployer.start(EJBDeployer.java:968)
at weblogic.ejb.container.deployer.EJBModule.start(EJBModule.java:597)
at
weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)
at
weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at
weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138)
at
weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:216)
at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:211)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at
weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:73)
at
weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:24)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729)
at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at
weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258)
at
weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:48)
at
weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
at
weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
at
weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:226)
at
weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:418)
at
weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
at
weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
at
weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
at
weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
at
weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
at
weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
at
weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:210)
at
weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:118)
at
weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:78)
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at
org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1017)
at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:388)
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:430)
at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456)
at
org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225)
at
org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82)
at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488)
at
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98)
at
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:606)
at
org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:77)
at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:231)
at
org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:254)
at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:413)
at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456)
at
org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225)
at
org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82)
at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488)
at
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98)
at
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87)
at
org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1162)
at
org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1147)
at
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
{quote}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)