Camunda - JBoss EAP 7.1.0 Integration

Hi,
I configured Camunda 7.7.0 on a vanilla JBoss EAP 7.1.0.Beta (following this guide Install the Full Distribution on a JBoss/Wildfly Application Server manually | docs.camunda.org).
The resulting standalone.xml is the following:

standalone.xml (24.8 KB)

If I start the server (without any artifact deployed), and then I paste in the Jboss deploy directory whichever war (i.e. project “helloworld” from GitHub - jboss-developer/jboss-eap-quickstarts: The quickstarts demonstrate JBoss EAP, Jakarta EE 8 and a few additional technologies. They provide small, specific, working examples that can be used as a reference for your own project.), the following error occurs:

11:33:06,267 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.1.0.Beta1 (WildFly Core 3.0.0.Beta26-redhat-1) started in 6014ms - Started 383 of 591 services (382 services are lazy, passive or on-demand)
11:33:18,009 INFO  [org.jboss.as.repository] (DeploymentScanner-threads - 1) WFLYDR0001: Content added at location C:\jboss-eap-7.1\standalone\data\content\ea\0d38a0225e1c55bdde045264e4a18f98562d0e\content
11:33:18,067 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-7) WFLYSRV0027: Starting deployment of "helloworld.war" (runtime-name: "helloworld.war")
11:33:18,470 INFO  [org.jboss.weld.deployer] (MSC service thread 1-5) WFLYWELD0003: Processing weld deployment helloworld.war
11:33:18,521 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-5) HV000001: Hibernate Validator 5.3.5.Final-redhat-1
11:33:18,694 INFO  [org.wildfly.security] (MSC service thread 1-4) ELY00001: WildFly Elytron version 1.1.0.Beta52-redhat-1
11:33:18,778 INFO  [org.jboss.weld.Version] (MSC service thread 1-5) WELD-000900: 2.4.3 (redhat)
11:33:19,600 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 19) WFLYUT0021: Registered web context: '/helloworld' for server 'default-server'
11:33:19,643 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 1) WFLYCTL0008: Failed to persist configuration change: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0084: Failed to marshal configuration
        at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:49)
        at org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.<init>(ConfigurationFilePersistenceResource.java:45)
        at org.jboss.as.controller.persistence.BackupXmlConfigurationPersister.store(BackupXmlConfigurationPersister.java:109)
        at org.jboss.as.controller.ModelControllerImpl.writeModel(ModelControllerImpl.java:694)
        at org.jboss.as.controller.OperationContextImpl.createPersistenceResource(OperationContextImpl.java:532)
        at org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:799)
        at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:750)
        at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:448)
        at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1402)
        at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:418)
        at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
        at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
        at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
        at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
        at org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient$1$1.lambda$run$0(ModelControllerClientFactoryImpl.java:170)
        at org.jboss.as.controller.access.InVmAccess.runInVm(InVmAccess.java:63)
        at org.jboss.as.controller.SecurityActions$InVmActions$1.runInVm(SecurityActions.java:149)
        at org.jboss.as.controller.SecurityActions.runInVm(SecurityActions.java:49)
        at org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient$1$1.run(ModelControllerClientFactoryImpl.java:170)
        at org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient$1$1.run(ModelControllerClientFactoryImpl.java:163)
        at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
        at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
        at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:198)
        at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:175)
        at org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient$1.run(ModelControllerClientFactoryImpl.java:163)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        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:748)
        at org.jboss.threads.JBossThread.run(JBossThread.java:320)
Caused by: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0089: Failed to write configuration
        at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:100)
        at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.<init>(AbstractFilePersistenceResource.java:42)
        ... 32 more
Caused by: java.lang.RuntimeException: Unable to get valueTypes.
        at org.camunda.bpm.container.impl.jboss.util.CustomMarshaller.getValueTypes(CustomMarshaller.java:29)
        at org.camunda.bpm.container.impl.jboss.util.CustomMarshaller$PluginObjectTypeMarshaller.marshallAsElement(CustomMarshaller.java:76)
        at org.jboss.as.controller.ObjectListAttributeDefinition.marshallAsElement(ObjectListAttributeDefinition.java:115)
        at org.jboss.as.controller.AttributeDefinition.marshallAsElement(AttributeDefinition.java:727)
        at org.camunda.bpm.container.impl.jboss.extension.BpmPlatformParser1_1$BpmPlatformSubsystemParser.writeProcessEnginesContent(BpmPlatformParser1_1.java:425)
        at org.camunda.bpm.container.impl.jboss.extension.BpmPlatformParser1_1$BpmPlatformSubsystemParser.writeContent(BpmPlatformParser1_1.java:401)
        at org.camunda.bpm.container.impl.jboss.extension.BpmPlatformParser1_1$BpmPlatformSubsystemParser.writeContent(BpmPlatformParser1_1.java:361)
        at org.jboss.as.server.parsing.StandaloneXml_5.writeServerProfile(StandaloneXml_5.java:787)
        at org.jboss.as.server.parsing.StandaloneXml_5.writeContent(StandaloneXml_5.java:705)
        at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:116)
        at org.jboss.as.server.parsing.StandaloneXml.writeContent(StandaloneXml.java:49)
        at org.jboss.staxmapper.XMLMapperImpl.doDeparse(XMLMapperImpl.java:96)
        at org.jboss.staxmapper.XMLMapperImpl.deparseDocument(XMLMapperImpl.java:91)
        at org.jboss.as.controller.persistence.AbstractConfigurationPersister.marshallAsXml(AbstractConfigurationPersister.java:94)
        ... 33 more
Caused by: java.lang.IllegalArgumentException: Can not set final [Lorg.jboss.as.controller.AttributeDefinition; field org.jboss.as.controller.ObjectTypeAttributeDefinition.valueTypes to org.jboss.as.controller.ObjectListAttributeDefinition
        at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
        at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
        at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58)
        at sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.get(UnsafeQualifiedObjectFieldAccessorImpl.java:38)
        at java.lang.reflect.Field.get(Field.java:393)
        at org.camunda.bpm.container.impl.jboss.util.CustomMarshaller.getValueTypes(CustomMarshaller.java:20)
        ... 46 more

11:33:19,656 ERROR [org.jboss.as.server] (DeploymentScanner-threads - 1) WFLYSRV0022: Deploy of deployment "helloworld.war" was rolled back with no failure message

Just some tests I performed:

  • The very strange thing i noticed is that the deploy goes fine if the war is already present in the Jboss deploy directory before the jboss start.
  • The just described problem doesn’t occurs with Jboss EAP 7.0.0.
  • The just described problem occurs with Jboss EAP 7.1.0.Beta and camunda-bpm-wildfly10-7.8.0-alpha3 as well.

Any suggestion about a configuration that could solve the problem on Jboss EAP 7.1.0.Beta?

There have been a couple of changes in the persistence of the Wildfy configuration file (standalone*.xml) introduced in WF-Core 3 which is the base for WF 11 which is the base of JBoss EAP 7.1.
And these changes are not backwards compatible, code changes in Camunda’s Wildfly integration are required.
See also the links below.

https://developer.jboss.org/thread/274986

@langfr thanks for your very precise answer.
At this point I would ask to @camunda if and in which release WF11 will be supported.

Thank you.