Hi, I am new to flowable. having one sample process with DMN(deployed both process and dmn table), but when i try to run java getting below error
java.lang.NullPointerException: Cannot invoke “org.flowable.dmn.api.DmnDecisionService.createExecuteDecisionBuilder()” because “ruleService” is null
not sure what needs to be done.
Hey @Megha,
Can you please share how your dependencies look like and the entire stracktrace that you are getting?
Cheers,
Filip
Hi @Filip,
Thanks for your reply.
Below is the dependency I’m using in the project
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
<version>2.0.1</version>
</dependency>
and this the error i’m getting
2024-08-22 12:21:19.704 ERROR 5720 --- [nio-8080-exec-2] o.f.c.e.impl.interceptor.CommandContext : Error while closing command context
java.lang.NullPointerException: Cannot invoke "org.flowable.dmn.api.DmnDecisionService.createExecuteDecisionBuilder()" because "ruleService" is null
at org.flowable.engine.impl.bpmn.behavior.DmnActivityBehavior.execute(DmnActivityBehavior.java:99) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeActivityBehavior(ContinueProcessOperation.java:298) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeSynchronous(ContinueProcessOperation.java:175) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.continueThroughFlowNode(ContinueProcessOperation.java:125) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.agenda.ContinueProcessOperation.run(ContinueProcessOperation.java:88) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.common.engine.impl.AbstractEngineConfiguration.lambda$new$0(AbstractEngineConfiguration.java:196) ~[flowable-engine-common-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:166) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:121) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:77) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53) ~[flowable-engine-common-7.0.1.jar:7.0.1]
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105) ~[flowable-engine-common-7.0.1.jar:7.0.1]
at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-7.0.1.jar:7.0.1]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.9.jar:5.3.9]
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-7.0.1.jar:7.0.1]
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-7.0.1.jar:7.0.1]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-7.0.1.jar:7.0.1]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.RuntimeServiceImpl.startProcessInstance(RuntimeServiceImpl.java:817) ~[flowable-engine-7.0.1.jar:7.0.1]
at org.flowable.engine.impl.runtime.ProcessInstanceBuilderImpl.start(ProcessInstanceBuilderImpl.java:265) ~[flowable-engine-7.0.1.jar:7.0.1]
at com.flowable.flowablepoc.BPMNService.startProcess(BPMNService.java:125) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[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:568) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1064) ~[spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.9.jar:5.3.9]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.9.jar:5.3.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) ~[tomcat-embed-core-9.0.50.jar:4.0.FR]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.9.jar:5.3.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.50.jar:4.0.FR]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.50.jar:9.0.50]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.50.jar:9.0.50]
at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
Not sure what needs to be done as I’m new to flowable.
Thanks,
Megha
Thanks for sharing this. The dependency you are using is correct so you should not be seeing this error.
Can you please put debug=true
in your application properties and share the conditional evaluation report from the console?
2024-08-22 14:11:08.309 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.agenda.ContinueProcessOperation : Sequence flow 'bpmnSequenceFlow_1' encountered. Continuing process by following it using execution 115004
2024-08-22 14:11:08.309 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.a.DefaultFlowableEngineAgenda : Operation class org.flowable.engine.impl.agenda.ContinueProcessOperation added to agenda
2024-08-22 14:11:08.309 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.impl.interceptor.CommandInvoker : Executing operation class org.flowable.engine.impl.agenda.ContinueProcessOperation
2024-08-22 14:11:08.309 DEBUG 6804 --- [nio-8080-exec-1] .i.h.DefaultHistoryConfigurationSettings : Current history level: AUDIT, level required: ACTIVITY
2024-08-22 14:11:08.309 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.agenda.ContinueProcessOperation : Executing activityBehavior class org.flowable.engine.impl.bpmn.helper.ClassDelegate on activity 'bpmnTask_1' with execution 115004
2024-08-22 14:11:08.313 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.a.DefaultFlowableEngineAgenda : Operation class org.flowable.engine.impl.agenda.TakeOutgoingSequenceFlowsOperation added to agenda
2024-08-22 14:11:08.313 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.impl.interceptor.CommandInvoker : Executing operation class org.flowable.engine.impl.agenda.TakeOutgoingSequenceFlowsOperation
2024-08-22 14:11:08.313 DEBUG 6804 --- [nio-8080-exec-1] .i.h.DefaultHistoryConfigurationSettings : Current history level: AUDIT, level required: ACTIVITY
2024-08-22 14:11:08.313 DEBUG 6804 --- [nio-8080-exec-1] e.i.a.TakeOutgoingSequenceFlowsOperation : Leaving flow node class org.flowable.bpmn.model.ServiceTask with id 'bpmnTask_1' by following it's 1 outgoing sequenceflow
2024-08-22 14:11:08.313 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.a.DefaultFlowableEngineAgenda : Operation class org.flowable.engine.impl.agenda.ContinueProcessOperation added to agenda
2024-08-22 14:11:08.313 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.impl.interceptor.CommandInvoker : Executing operation class org.flowable.engine.impl.agenda.ContinueProcessOperation
2024-08-22 14:11:08.314 DEBUG 6804 --- [nio-8080-exec-1] .i.h.DefaultHistoryConfigurationSettings : Current history level: AUDIT, level required: ACTIVITY
2024-08-22 14:11:08.314 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.agenda.ContinueProcessOperation : Sequence flow 'bpmnSequenceFlow_2' encountered. Continuing process by following it using execution 115004
2024-08-22 14:11:08.314 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.a.DefaultFlowableEngineAgenda : Operation class org.flowable.engine.impl.agenda.ContinueProcessOperation added to agenda
2024-08-22 14:11:08.314 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.impl.interceptor.CommandInvoker : Executing operation class org.flowable.engine.impl.agenda.ContinueProcessOperation
2024-08-22 14:11:08.314 DEBUG 6804 --- [nio-8080-exec-1] .i.h.DefaultHistoryConfigurationSettings : Current history level: AUDIT, level required: ACTIVITY
2024-08-22 14:11:08.314 DEBUG 6804 --- [nio-8080-exec-1] o.f.e.i.agenda.ContinueProcessOperation : Executing activityBehavior class org.flowable.engine.impl.bpmn.behavior.DmnActivityBehavior on activity 'bpmnTask_2' with execution 115004
2024-08-22 14:11:08.347 ERROR 6804 --- [nio-8080-exec-1] o.f.c.e.impl.interceptor.CommandContext : Error while closing command context
java.lang.NullPointerException: Cannot invoke "org.flowable.dmn.api.DmnDecisionService.createExecuteDecisionBuilder()" because "ruleService" is null
this is the console output i’m getting.
I’m talking the output when the application boots up, not when you do the request