Cannot complete dmn 1.1 example

Hi

I am testing the dmn “dish” example from here: https://docs.camunda.org/get-started/dmn11/. It compiles nicely but fails when I tries to deploy to tomcat.

I have copied the source code from the web page but when I try to deploy, I get this error:

org.camunda.commons.logging.BaseLogger.logError ENGINE-16004 Exception while closing command context: no deployed decision definition found with id ‘dish’: decisionDefinition is null
org.camunda.bpm.engine.exception.dmn.DecisionDefinitionNotFoundException: no deployed decision definition found with key ‘dish’: decisionDefinition is null

The top of the dmn file says this, which sounds right to me:

<?xml version="1.0" encoding="UTF-8"?>

Do anybody have an idea of what goes wrong?

Kind regards
/Jes

Can you upload the entire DMN xml file?

I think so :slight_smile:

dinnerDecisions.dmn (3.1 KB)

Table seems perfectly good to me, i was able to deploy and evaluate it.
Does the problem you’re having occur when deploying, evaluating or testing the table?

The error comes when deploying. This error below is occurs, and the decision table never shows up in cockpit.

org.camunda.commons.logging.BaseLogger.logError ENGINE-16004 Exception while closing command context: no decision definition deployed with key ‘dish’: decisionDefinition is null
org.camunda.bpm.engine.exception.dmn.DecisionDefinitionNotFoundException: no decision definition deployed with key ‘dish’: decisionDefinition is null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.camunda.bpm.engine.impl.util.EnsureUtil.generateException(EnsureUtil.java:334)
at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:49)
at org.camunda.bpm.engine.impl.persistence.deploy.DeploymentCache.findDeployedLatestDecisionDefinitionByKey(DeploymentCache.java:472)
at org.camunda.bpm.engine.impl.dmn.cmd.EvaluateDecisionTableCmd.findByKey(EvaluateDecisionTableCmd.java:97)
at org.camunda.bpm.engine.impl.dmn.cmd.EvaluateDecisionTableCmd.getDecisionDefinition(EvaluateDecisionTableCmd.java:85)
at org.camunda.bpm.engine.impl.dmn.cmd.EvaluateDecisionTableCmd.execute(EvaluateDecisionTableCmd.java:60)
at org.camunda.bpm.engine.impl.dmn.cmd.EvaluateDecisionTableCmd.execute(EvaluateDecisionTableCmd.java:38)
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.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66)
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.camunda.bpm.engine.impl.dmn.DecisionTableEvaluationBuilderImpl.evaluate(DecisionTableEvaluationBuilderImpl.java:82)
at org.camunda.bpm.engine.impl.DecisionServiceImpl.evaluateDecisionTableByKey(DecisionServiceImpl.java:37)
at org.camunda.bpm.getstarted.dmn.DinnerApplication.evaluateDecisionTable(DinnerApplication.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.camunda.bpm.container.impl.deployment.PostDeployInvocationStep.performOperationStep(PostDeployInvocationStep.java:64)
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:116)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:156)
at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:212)
at org.camunda.bpm.container.impl.RuntimeContainerDelegateImpl.deployProcessApplication(RuntimeContainerDelegateImpl.java:95)
at org.camunda.bpm.application.AbstractProcessApplication.deploy(AbstractProcessApplication.java:59)
at org.camunda.bpm.application.impl.ServletProcessApplication.contextInitialized(ServletProcessApplication.java:131)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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:745)

Can you fill me in on what way on how you’re using Camunda.
Camunda version, application server, database, how exactly you’re deploying the file?

Using camunda 7.6.0, in tomcat 8 from this location
https://camunda.org/release/camunda-bpm/tomcat/7.6/camunda-bpm-tomcat-7.6.0.zip

Camunda and tomcat is running on my local pc, and it is generally working.:slight_smile:

I am deploying by dragging the .war file to this directory. It seems to work, as it is then unpacked to a dinner-dmn-0.1.0-SNAPSHOP dir.
C:\Program Files\camunda-bpm-tomcat-7.6.0\server\apache-tomcat-8.0.24\webapps

1 Like

Is there anything else in the .WAR file?
A BPMN model or another DMN table?

No, this should be the only thing in the war-file.

Maybe I should try to download the camunda in wildfly to see if it makes any difference?

Did your war include a processes.xml file?

No, no processer.xml file.

Is anything missing?

Yes, this step from the BPMN-getting started is missing: https://docs.camunda.org/get-started/bpmn20/project-setup/#add-a-meta-inf-processes-xml-deployment-descriptor.

Maybe it’s should be mentioned in the DMN docs?

Cheers, ingo

I’ll try this.
Thanks for the help, both of you :slight_smile:

Kind regards

/Jes

It actually says here: https://docs.camunda.org/get-started/dmn11/project-setup/#add-a-meta-inf-processes-xml-deployment-descriptor

Cheers, Ben

Yep, it worked.I can see I was a bit too quick :slight_smile:

Thanks

/Jes