Atomic Transactions in standalone-full.xml
manuel_uberti Sep 6, 2016 6:33 AMHi,
is it possible to add whatever is needed to enable Atomic Transactions in standalone-full.xml?
As I understood from https://github.com/jboss-developer/jboss-eap-quickstarts/tree/7.1.x-develop/wsat-simple, I need to use WildFly with standalone-xts.xml. However, company requirement here is to use standalone-full.xml.
I tried a diff on both files, and found only these 2 differences:
<extension module="org.jboss.as.xts"/>
<subsystem xmlns="urn:jboss:domain:xts:2.0"> <host name="default-host"/> <xts-environment url="http://${jboss.bind.address:127.0.0.1}:8080/ws-c11/ActivationService"/> <default-context-propagation enabled="true"/> </subsystem>
So copied them both in my standalone-full.xml. I added org.jboss.narayana.xts to my pom.xml and then configured the client of the web services I need to use like this:
public static void enableWsAtomicTransaction(final BindingProvider bindingProvider) { bindingProvider.getBinding().getHandlerChain().add(new JaxWSHeaderContextProcessor()); }
And added the handler in handler-chain.xml:
<handler> <handler-name>JaxWSHeaderContextProcessor</handler-name> <handler-class>com.arjuna.mw.wst11.service.JaxWSHeaderContextProcessor</handler-class> </handler>
When trying to deploy my EAR I get this exception:
2016-09-06 12:29:44,300 WARN [org.jboss.modules] (MSC service thread 1-6) Failed to define class com.arjuna.mw.wst11.service.JaxWSHeaderContextProcessor in Module "deployment.mdw-ear-0.5.6-SNAPSHOT.ear:main" from Service Module Loader: java.lang.IllegalAccessError: Failed to link com/arjuna/mw/wst11/service/JaxWSHeaderContextProcessor (Module "deployment.mdw-ear-0.5.6-SNAPSHOT.ear:main" from Service Module Loader): class com.arjuna.mw.wst11.service.JaxWSHeaderContextProcessor cannot access its superclass com.arjuna.mw.wst11.service.JaxBaseHeaderContextProcessor at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:446) at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274) at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78) at org.jboss.modules.Module.loadModuleClass(Module.java:605) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.jboss.as.ee.utils.ClassLoadingUtils.loadClass(ClassLoadingUtils.java:21) at org.jboss.as.ee.utils.ClassLoadingUtils.loadClass(ClassLoadingUtils.java:14) at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:84) at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:76) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)