When Iam using flowable version 6.7.2 it is working perfectly fine with below scenario
my delegate class Iam setting a service url like below execution.setVaraible(“url”, http://localhost/restApi) and in my http task in flowable ui Iam using request url as
<flowable:field name=“requestUrl”>
java.lang.NullPointerException: null
at java.util.concurrent.CompletableFuture.screenExecutor(Unknown Source) ~[na:1.8.0_321]
at java.util.concurrent.CompletableFuture.supplyAsync(Unknown Source) ~[na:1.8.0_321]
at org.flowable.common.engine.impl.async.DefaultAsyncTaskExecutor.submit(DefaultAsyncTaskExecutor.java:89) ~[flowable-engine-common-6.8.0.jar!/:6.8.0]
at org.flowable.common.engine.impl.async.DefaultAsyncTaskInvoker.submit(DefaultAsyncTaskInvoker.java:40) ~[flowable-engine-common-6.8.0.jar!/:6.8.0]
at org.flowable.http.common.impl.BaseHttpActivityDelegate.prepareAndExecuteRequest(BaseHttpActivityDelegate.java:223) ~[flowable-http-common-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.bpmn.http.DefaultBpmnHttpActivityDelegate.execute(DefaultBpmnHttpActivityDelegate.java:111) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.delegate.invocation.FutureJavaDelegateInvocation.invoke(FutureJavaDelegateInvocation.java:38) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.delegate.invocation.DelegateInvocation.proceed(DelegateInvocation.java:32) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.delegate.invocation.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:26) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.bpmn.behavior.ServiceTaskFutureJavaDelegateActivityBehavior.execute(ServiceTaskFutureJavaDelegateActivityBehavior.java:120) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.bpmn.helper.ClassDelegate.execute(ClassDelegate.java:194) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeActivityBehavior(ContinueProcessOperation.java:298) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeSynchronous(ContinueProcessOperation.java:175) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.continueThroughFlowNode(ContinueProcessOperation.java:125) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.run(ContinueProcessOperation.java:88) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.common.engine.impl.AbstractEngineConfiguration.lambda$new$0(AbstractEngineConfiguration.java:195) ~[flowable-engine-common-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:130) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:114) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:72) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26) ~[flowable-engine-6.8.0.jar!/:6.8.0]
at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53) ~[flowable-engine-common-6.8.0.jar!/:6.8.0]
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105) ~[flowable-engine-common-6.8.0.jar!/:6.8.0]
at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) [flowable-spring-common-6.8.0.jar!/:6.8.0]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.24.jar!/:5.3.24]
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) [flowable-spring-common-6.8.0.jar!/:6.8.0]
The null pointer seems to be coming due to the executor service being null. How are you creating the engine? Can you please share a minimal reproducible project?
Hi @filiphr can you share any sample for this scenario Add dedicated task executor for the task invoker. This is fixing an issue with a potential deadlock when using the “true parallel” HTTP task feature
@filiphr we are using Default ProcessEngineConfiguration
<serviceTask id=“sendmailrecipient” name=“assignment” flowable:parallelInSameTransaction=“true” flowable:type=“http”>. when we change this highlighted flag to false it is working in 6.8.0, if it is true then fails.
What does this mean? Are you using our Spring Boot starters or not? How does your maven / gradle config look like?
That change is only hiding the original problem, the fact that your engine configuration looks like isn’t properly configured, or you are starting a process before the entire engine has been fully booted up.