a while ago I got Camunda BPM running when following this quickstart.
https://github.com/camunda/camunda-quickstarts/tree/master/deployment/embedded-spring-rest
This still works like charm but now I wanted to add Cockpit in order to ease maintainance of running processes.
I tried to follow your installation guide at http://docs.camunda.org/latest/guides/installation-guide/tomcat/#web-applications-install-camunda-cockpit-and-tasklist but starting the Tomcat server with the camunda-webapp-tomcat-7.0.0-Final.war deployed results in this:
INFO: Deploying web application archive D:\Tomcats\apache-tomcat-7.0.42\webapps\camunda-webapp-tomcat-7.0.0-Final.war
Nov 04, 2013 9:38:22 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.camunda.bpm.cockpit.impl.web.bootstrap.CockpitContainerBootstrap
java.lang.NoClassDefFoundError: org/camunda/bpm/engine/ProcessEngineException
at org.camunda.bpm.cockpit.impl.web.bootstrap.CockpitContainerBootstrap$CockpitEnvironment.setup(CockpitContainerBootstrap.java:56)
at org.camunda.bpm.cockpit.impl.web.bootstrap.CockpitContainerBootstrap.contextInitialized(CockpitContainerBootstrap.java:36)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException: org.camunda.bpm.engine.ProcessEngineException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 16 more
Nov 04, 2013 9:38:22 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Nov 04, 2013 9:38:22 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/camunda-webapp-tomcat-7.0.0-Final] startup failed due to previous errors
The embedded engine is still starting fine, but the WebApp runs into this error. Any idea on what I am doing wrong?
Thanks,
Steffen
Hi Steffen,
Let me explain it in more detail:
If you deploy multiple applications on camunda BPM where each of them uses the process engine you have two options:
1) Run the process engine embedded:
In this case the camunda-engine.jar library is added to each application and the process engine is started inside each application.
2) Run the process engine in shared (container-managed) mode:
In this case the process engine is started by the Tomcat server as part of the tomcat server bootstrap. It can then be used by multiple applications (such as your custom process application and the camunda cockpit). In this case the camunda-engine.jar must not be added to each application but deployed as a shared library.
You opted for option (1 - embedded). In this case you need to add the process engine to the cockpit application and start it there. You do not have to look into the server listener as this is used for option (2).
What you have to do is provide an implementation of the ProcessEngineLookup SPI in the same way as you did in your custom application. You could then also boostrap the process engine using Spring in cockpit and provide it to the cockoit application in the same way as you do in your custom application.
We are thinking about providing a cockpit application where this is pre-configured.
Cheers,
Daniel Meyer
Hi Steffen.
Why don’t you consider to switch to the shared engine (option 2)? I expect that it works more smoothly for you. I am just curious ;-)
Cheers
BErnd
--
You received this message because you are subscribed to the Google Groups "camunda BPM users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to camunda-bpm-us...@googlegroups.com.
To post to this group, send email to camunda-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/camunda-bpm-users/7e9e9fc1.00001c2c.0000009e%40CA-MEYERD.
For more options, visit https://groups.google.com/groups/opt_out.
I have a spring web application uses bpmn work flow. So the engine is embedded. Now I hav a cockpit application [angular/js api] downloaded from the camunda. Can I see the tasks and details if I put this cockpit webapp to the root folder where my custom spring web application is running.
I prefer a step by step explantion since i am new in camunda though we implementing it on the way a big process.
[what we are implementing - approval process by multiple organizations having different business process of dealing a single service receiving the assignment to different level of people in each organizations]
Mean while I would like to get shared a detailed implementation of
1. Adding Camunda to an application
2. Running a process
3. Assign a task runtime
4. Delegate / change the assignee
5. Complete the task
6. Messaging
7. View all the tasks for assignee/Candidate
in a single document with the api methods that exactly fit for an end to end application.