Hii Community ,
I am working on migration of my existing camunda7 workflows to camunda 8 using camunda7Adapter,
In camunda 7 for a use case where we are throwing a message to start a event subprocess , we are using Implementation , type: expression and value :
{execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation("EVENT_GET_PLANNING").processInstanceBusinessKey(execution.getBusinessKey()).setVariable("PlanningNeeded",PlanningNeeded).setVariable("orderId",orderId).correlateWithResult()}
Now when trying to migrate these for camunda 8 , i used diagram converter of camunda community hub , it got converted and in converted diagram , in headers : key - expression and in value it has been set
{execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation("EVENT_GET_PLANNING").processInstanceBusinessKey(execution.getBusinessKey()).setVariable("PlanningNeeded",PlanningNeeded).setVariable("orderId",orderId).correlateWithResult()}
Now while trying to execute a process instance i am getting these error
org.camunda.bpm.engine.ProcessEngineException: EL Error while evaluating expression: ${execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation("EVENT_GET_PLANNING").processInstanceBusinessKey(execution.getBusinessKey()).setVariable("orchestratorPlanningNeeded",orchestratorPlanningNeeded).setVariable("logisticOrderId",logisticOrderId).correlateWithResult()}. Cause: java.lang.UnsupportedOperationException
at org.camunda.community.migration.adapter.juel.EnginelessJuelExpression.getValue(EnginelessJuelExpression.java:45) ~[camunda-7-adapter-0.4.4.jar:na]
at org.camunda.community.migration.adapter.juel.JuelExpressionResolver.evaluate(JuelExpressionResolver.java:32) ~[camunda-7-adapter-0.4.4.jar:na]
at org.camunda.community.migration.adapter.worker.CamundaPlatform7DelegationWorker.delegateToCamundaPlatformCode(CamundaPlatform7DelegationWorker.java:57) ~[camunda-7-adapter-0.4.4.jar:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at io.camunda.zeebe.spring.client.bean.MethodInfo.invoke(MethodInfo.java:46) ~[spring-zeebe-8.1.17.jar:na]
at io.camunda.zeebe.spring.client.jobhandling.JobHandlerInvokingSpringBeans.handle(JobHandlerInvokingSpringBeans.java:88) ~[spring-zeebe-8.1.17.jar:na]
at io.camunda.zeebe.client.impl.worker.JobRunnableFactory.executeJob(JobRunnableFactory.java:44) ~[zeebe-client-java-8.1.9.jar:8.1.9]
at io.camunda.zeebe.client.impl.worker.JobRunnableFactory.lambda$create$0(JobRunnableFactory.java:39) ~[zeebe-client-java-8.1.9.jar:8.1.9]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: org.camunda.bpm.engine.impl.javax.el.ELException: java.lang.UnsupportedOperationException
at org.camunda.bpm.engine.impl.javax.el.BeanELResolver.invoke(BeanELResolver.java:496) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.javax.el.CompositeELResolver.invoke(CompositeELResolver.java:397) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:91) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:79) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:79) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:79) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:79) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:79) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:79) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstEval.eval(AstEval.java:50) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.AstNode.getValue(AstNode.java:26) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.bpm.engine.impl.juel.TreeValueExpression.getValue(TreeValueExpression.java:114) ~[camunda-engine-7.18.0.jar:7.18.0]
at org.camunda.community.migration.adapter.juel.EnginelessJuelExpression.getValue(EnginelessJuelExpression.java:28) ~[camunda-7-adapter-0.4.4.jar:na]
... 16 common frames omitted
Caused by: java.lang.UnsupportedOperationException: null
at org.camunda.community.migration.adapter.execution.AbstractDelegateExecution.getProcessEngineServices(AbstractDelegateExecution.java:54) ~[camunda-7-adapter-0.4.4.jar:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.camunda.bpm.engine.impl.javax.el.BeanELResolver.invoke(BeanELResolver.java:494) ~[camunda-engine-7.18.0.jar:7.18.0]
... 35 common frames omitted
My understanding is that , just like we have using delegates in camunda 8 environemnt using adapter , we can also use this expression , Am i completely wrong understood these concept , or i have to implement another delagtes to throw events ? how to do message correlation and start a event subprocess using camunda7Adapter.