Steps to reproduce:
1. Setup Wildfly > 11 with enabled jobExecutorAcquireByPriority configuration property of the engine.
2. Start the engine
Expected:
Engine and Job executor work.
Observed:
Job acquisition fails with:
16:41:31,549 INFO [org.camunda.bpm.engine.jobexecutor] (pool-14-thread-1) ENGINE-14018 JobExecutor[org.camunda.bpm.container.impl.jboss.service.MscRuntimeContainerJobExecutor] starting to acquire jobs 16:41:31,549 INFO [org.camunda.bpm.container.impl.jboss.service.MscManagedProcessEngine] (ServerService Thread Pool -- 64) jndi binding for process engine default is java:global/camunda-bpm-platform/process-engine/default 16:41:31,596 ERROR [org.camunda.bpm.engine.context] (pool-14-thread-1) ENGINE-16004 Exception while closing command context: ### Error querying database. Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] ### Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper]: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] ### Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) at org.camunda.bpm.engine.impl.db.sql.DbSqlSession.selectList(DbSqlSession.java:95) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectListWithRawParameter(DbEntityManager.java:180) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:172) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:168) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:157) at org.camunda.bpm.engine.impl.persistence.entity.JobManager.findNextJobsToExecute(JobManager.java:191) at org.camunda.bpm.engine.impl.cmd.AcquireJobsCmd.execute(AcquireJobsCmd.java:56) at org.camunda.bpm.engine.impl.cmd.AcquireJobsCmd.execute(AcquireJobsCmd.java:34) at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:104) at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:58) at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66) at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) at org.camunda.bpm.engine.impl.jobexecutor.SequentialJobAcquisitionRunnable.acquireJobs(SequentialJobAcquisitionRunnable.java:142) at org.camunda.bpm.engine.impl.jobexecutor.SequentialJobAcquisitionRunnable.run(SequentialJobAcquisitionRunnable.java:60) at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:29) at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:789) at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:44) at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:809) at java.lang.Thread.run(Thread.java:745) at org.jboss.threads.JBossThread.run(JBossThread.java:485) Caused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46) at org.apache.ibatis.scripting.xmltags.VarDeclSqlNode.apply(VarDeclSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.ForEachSqlNode.apply(ForEachSqlNode.java:82) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:35) at org.apache.ibatis.scripting.xmltags.ChooseSqlNode.apply(ChooseSqlNode.java:35) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:41) at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:292) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) ... 22 more Caused by: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] at org.apache.ibatis.ognl.OgnlRuntime.callStaticMethod(OgnlRuntime.java:1566) at org.apache.ibatis.ognl.ASTStaticMethod.getValueBody(ASTStaticMethod.java:77) at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258) at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:470) at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:434) at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:44) ... 33 more Caused by: java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper at org.apache.ibatis.ognl.OgnlRuntime.classForName(OgnlRuntime.java:1184) at org.apache.ibatis.ognl.OgnlRuntime.callStaticMethod(OgnlRuntime.java:1558) ... 39 more 16:41:31,605 ERROR [org.camunda.bpm.engine.jobexecutor] (pool-14-thread-1) ENGINE-14019 Exception during job acquisition Process engine persistence exception: org.camunda.bpm.engine.ProcessEngineException: Process engine persistence exception at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.rethrow(CommandInvocationContext.java:147) at org.camunda.bpm.engine.impl.interceptor.CommandContext.close(CommandContext.java:174) at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:113) at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:58) at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66) at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) at org.camunda.bpm.engine.impl.jobexecutor.SequentialJobAcquisitionRunnable.acquireJobs(SequentialJobAcquisitionRunnable.java:142) at org.camunda.bpm.engine.impl.jobexecutor.SequentialJobAcquisitionRunnable.run(SequentialJobAcquisitionRunnable.java:60) at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:29) at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:789) at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:44) at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:809) at java.lang.Thread.run(Thread.java:745) at org.jboss.threads.JBossThread.run(JBossThread.java:485) Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] ### Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) at org.camunda.bpm.engine.impl.db.sql.DbSqlSession.selectList(DbSqlSession.java:95) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectListWithRawParameter(DbEntityManager.java:180) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:172) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:168) at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:157) at org.camunda.bpm.engine.impl.persistence.entity.JobManager.findNextJobsToExecute(JobManager.java:191) at org.camunda.bpm.engine.impl.cmd.AcquireJobsCmd.execute(AcquireJobsCmd.java:56) at org.camunda.bpm.engine.impl.cmd.AcquireJobsCmd.execute(AcquireJobsCmd.java:34) at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:104) ... 11 more Caused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression '@org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper@orderBy(orderingProperty, index)'. Cause: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46) at org.apache.ibatis.scripting.xmltags.VarDeclSqlNode.apply(VarDeclSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.ForEachSqlNode.apply(ForEachSqlNode.java:82) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:35) at org.apache.ibatis.scripting.xmltags.ChooseSqlNode.apply(ChooseSqlNode.java:35) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:41) at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:292) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) ... 22 more Caused by: org.apache.ibatis.ognl.MethodFailedException: Method "orderBy" failed for object org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper [java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper] at org.apache.ibatis.ognl.OgnlRuntime.callStaticMethod(OgnlRuntime.java:1566) at org.apache.ibatis.ognl.ASTStaticMethod.getValueBody(ASTStaticMethod.java:77) at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258) at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:470) at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:434) at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:44) ... 33 more Caused by: java.lang.ClassNotFoundException: Unable to resolve class: org.camunda.bpm.engine.impl.db.sql.MybatisJoinHelper at org.apache.ibatis.ognl.OgnlRuntime.classForName(OgnlRuntime.java:1184) at org.apache.ibatis.ognl.OgnlRuntime.callStaticMethod(OgnlRuntime.java:1558) ... 39 more 16:41:32,023 INFO [org.camunda.bpm.application] (ServerService Thread Pool -- 64) ENGINE-07021 ProcessApplication 'camunda-invoice' registered for DB deployments [7afca5a3-40ef-11e9-8d12-00155d995105]. Will execute process definitions invoice[version: 1, id: invoice:1:7b0cd247-40ef-11e9-8d12-00155d995105]
Hints:
The classloading issue occurs after changes in WildFly/JBoss code, where the contextClassLoader gets clean up, so during acquisition the engine classes are not available in the execution thread.
This is the controller panel for Smart Panels app
- is related to
-
CAM-10379 Classloading issue in Wildfly 12+
- Closed