[jbossts-issues] [JBoss JIRA] (JBTM-3293) LRA coordinator jar cannot be deployed on WildFly

Martin Stefanko (Jira) issues at jboss.org
Mon Apr 20 10:31:09 EDT 2020


    [ https://issues.redhat.com/browse/JBTM-3293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14046683#comment-14046683 ] 

Martin Stefanko commented on JBTM-3293:
---------------------------------------

It seems that the Weld is not correctly processing the loaded classes and log is filled with errors like this:


{noformat}
15:45:49,524 WARN  [org.jboss.modules.define] (Weld Thread Pool -- 1) Failed to define class io.narayana.lra.coordinator.internal.LRACompensatorMap in Module "deployment.lra-coordinator.jar" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link io/narayana/lra/coordinator/internal/LRACompensatorMap (Module "deployment.lra-coordinator.jar" from Service Module Loader): com/arjuna/ats/arjuna/coordinator/abstractrecord/RecordTypeMap
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1095)
	at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:424)
	at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:555)
	at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
	at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:126)
	at org.jboss.modules.Module.loadModuleClass(Module.java:731)
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:247)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
	at org.jboss.as.weld at 20.0.0.Beta1-SNAPSHOT//org.jboss.as.weld.WeldModuleResourceLoader.classForName(WeldModuleResourceLoader.java:68)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadClass(AnnotatedTypeLoader.java:82)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadAnnotatedType(AnnotatedTypeLoader.java:62)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.bootstrap.FastAnnotatedTypeLoader.loadAnnotatedType(FastAnnotatedTypeLoader.java:108)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:87)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:55)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:52)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)
	at org.jboss.weld.core at 3.1.4.Final//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
	at org.jboss.threads at 2.3.3.Final//org.jboss.threads.JBossThread.run(JBossThread.java:485)

15:45:49,525 INFO  [org.jboss.weld.Bootstrap] (Weld Thread Pool -- 1) WELD-000119: Not generating any bean definitions from io.narayana.lra.coordinator.internal.LRACompensatorMap because of underlying class loading error: Type Failed to link io.narayana.lra.coordinator.internal.LRACompensatorMap (Module "deployment.lra-coordinator.jar" from Service Module Loader): com.arjuna.ats.arjuna.coordinator.abstractrecord.RecordTypeMap not found.  If this is unexpected, enable DEBUG logging to see the full error.
{noformat}

which seems similar to https://issues.redhat.com/browse/WFLY-5720. Just changing the packaging to war fixes all the issues. So it seems that if we want to have LRA coordinator available as a deployable web application we should include a new module lra-coordinator-war which will be packaging lra-coordinator-jar as a WAR archive. 

[~mmusgrov], [~ochaloup] WDYT?


> LRA coordinator jar cannot be deployed on WildFly
> -------------------------------------------------
>
>                 Key: JBTM-3293
>                 URL: https://issues.redhat.com/browse/JBTM-3293
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>          Components: LRA
>    Affects Versions: 5.10.4.Final
>            Reporter: Martin Stefanko
>            Assignee: Martin Stefanko
>            Priority: Major
>             Fix For: 5.next
>
>
> I am not sure whether this should be possible but the lra-coordinator.jar from lra-coordinator-jar module can't be deployed on latest WildFly. The deployment fails with the following error:
> {noformat}
> Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type LRAService with qualifiers @Default
>   at injection point [BackedAnnotatedField] @Inject io.narayana.lra.coordinator.api.RecoveryCoordinator.lraService
>   at io.narayana.lra.coordinator.api.RecoveryCoordinator.lraService(RecoveryCoordinator.java:0)
> WELD-001474: Class io.narayana.lra.coordinator.domain.service.LRAService is on the classpath, but was ignored because a class it references was not found: com.arjuna.ats.arjuna.recovery.RecoveryModule from [Module "deployment.lra-coordinator.jar" from Service Module Loader].
> {noformat}



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jbossts-issues mailing list