Hallo zusammen,
ich bin neu hier und und versuche gerade mich etwas mit Camunda zu beschäftigen. Genau gesagt versuche ich gerade Camunda auf einer eigenen Tomcat Umgebung zu installieren.
Es geht um die Tomcat TomEE PluME (
http://tomee.apache.org/downloads.html)
Ich bin der Anleitung
http://docs.camunda.org/latest/guides/installation-guide/tomcat/#bpm-platform-install-the-platform-on-a-vanilla-tomcat gefolgt.
Bin jedoch auf 2 Probleme gestoßen, bei denen ich einfach nicht weiterkomme :(
1.) Im ersten Schritt habe ich versucht auf eine MySQL Datenbank zuzugreifen. Dazu habe ich eine Datenbank mit dem Namen "option-store" angelegt. Dann bin ich so wie in der Anleitung beschrieben vorgegangen und habe die SQL Scripts zum erstellen der Tabellen ausgeführt. (Tabellen sind in der Datenbank angelegt)
Ich habe mir den mysql-connector-java-5.1.34 Driver heruntergeladen und in den Ordner apache-tomee-1.7.1-plume\lib abgelegt.
In der conf/server.xml habe ich dann die Verbindung angegeben:
<Resource
name="jdbc/option-store" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
url="jdbc:mysql://localhost:3306/option-store"
driverClassName="com.mysql.jdbc.Driver"
username="root" password=""
/>
Auch die libs habe ich kopiert. Von camunda-bpm-tomcat-7.2.0\lib nach apache-tomee-1.7.1-plume\lib
und den Bootstrap Server Listener habe ich in der server.xml hinzugefügt:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.camunda.bpm.container.impl.tomcat.TomcatBpmPlatformBootstrap" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
Wenn ich jedoch dann Tomcat starten will, sieht man kurz das CMD Fenster und es läuft kurz etwas durch, aber dann verschwindet es wieder und nichts ist passiert. Im Catalina-log File des Tomcat ist folgende Exception aufgetreten:
Mär 23, 2015 12:02:45 PM org.camunda.bpm.engine.impl.jobexecutor.SequentialJobAcquisitionRunnable run
Information: JobExecutor[org.camunda.bpm.engine.impl.jobexecutor.RuntimeContainerJobExecutor] stopped job acquisition
Mär 23, 2015 12:02:45 PM org.apache.catalina.startup.Catalina start
Schwerwiegend: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.camunda.bpm.engine.ProcessEngineException: Exception while performing 'deploy BPM platform => Start process engine default': couldn't lookup datasource from java:jdbc/ProcessEngine: Name [ProcessEngine] is not bound in this Context. Unable to find [ProcessEngine].
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:134)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:148)
at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:209)
at org.camunda.bpm.container.impl.tomcat.TomcatBpmPlatformBootstrap.deployBpmPlatform(TomcatBpmPlatformBootstrap.java:69)
at org.camunda.bpm.container.impl.tomcat.TomcatBpmPlatformBootstrap.lifecycleEvent(TomcatBpmPlatformBootstrap.java:55)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: org.camunda.bpm.engine.ProcessEngineException: couldn't lookup datasource from java:jdbc/ProcessEngine: Name [ProcessEngine] is not bound in this Context. Unable to find [ProcessEngine].
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:661)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.init(ProcessEngineConfigurationImpl.java:484)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:454)
at org.camunda.bpm.container.impl.jmx.services.JmxManagedProcessEngineController.start(JmxManagedProcessEngineController.java:34)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.startService(MBeanServiceContainer.java:67)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.startService(MBeanServiceContainer.java:53)
at org.camunda.bpm.container.impl.deployment.StartProcessEngineStep.performOperationStep(StartProcessEngineStep.java:114)
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:117)
... 17 more
Caused by: javax.naming.NameNotFoundException: Name [ProcessEngine] is not bound in this Context. Unable to find [ProcessEngine].
at org.apache.naming.NamingContext.lookup(NamingContext.java:819)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
at org.apache.naming.NamingContext.lookup(NamingContext.java:167)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:156)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:659)
... 24 more
Mär 23, 2015 12:02:45 PM org.camunda.bpm.container.impl.tomcat.TomcatBpmPlatformBootstrap undeployBpmPlatform
Information: camunda BPM platform stopped.
Mär 23, 2015 12:02:45 PM org.apache.catalina.util.LifecycleBase destroy
Warnung: Calling stop() on failed component [StandardServer[8005]] to trigger clean-up did not complete.
org.apache.catalina.LifecycleException: Failed to stop component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:236)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:272)
at org.apache.catalina.startup.Catalina.start(Catalina.java:693)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardService[Catalina]] in state [INITIALIZED]
at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:760)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
... 8 more
Mär 23, 2015 12:02:45 PM org.apache.coyote.AbstractProtocol destroy
Information: Destroying ProtocolHandler ["http-bio-8080"]
Mär 23, 2015 12:02:45 PM org.apache.coyote.AbstractProtocol destroy
Information: Destroying ProtocolHandler ["ajp-bio-8009"]
2.) Ich habe dann auch noch versucht nicht die MySQL Datenbank sondern wie bei dem Standalone Camunda Tomcat die h2 Datenbank zu verwenden. Hierzu habe ich einfach die server.xml vom camunda-bpm-tomcat-7.2.0 kopiert und dann versucht den Tomcat zu starten.
Das hat funktioniert und auch die Camunda welcome page konnte ich öffnen (das war im Fall mit der MySQL DB nicht möglich). Wenn ich dann aber das Camunda Cockpit und die Taskliste installieren will, geht das leider nicht. Ich habe das war file wie im Punkt "Install camunda Cockpit and Tasklist" beschrieben heruntergeladen und in den webapp Ordner gegeben, wenn ich dann aber den Tomcat starte dann bekomme ich einen Error:
Information: Deployed Application(path=C:\Users\Charly\Desktop\apache-tomee-1.7.1-plume\webapps\camunda-webapp-tomcat-7.2.0)
Mär 23, 2015 11:31:05 AM org.apache.openejb.observer.ObserverManager$MethodInvocation invoke
Schwerwiegend: error invoking org.apache.tomee.webservices.TomeeJaxRsService@18c6d42c
java.lang.NoClassDefFoundError: org/apache/http/HttpException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)
at java.lang.Class.getConstructors(Class.java:1517)
at org.apache.openejb.server.cxf.rs.CxfRsHttpListener$ProviderFactory.newInstance(CxfRsHttpListener.java:687)
at org.apache.openejb.assembler.classic.util.ServiceInfos.resolve(ServiceInfos.java:98)
at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.providers(CxfRsHttpListener.java:330)
at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.configureFactory(CxfRsHttpListener.java:651)
at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.deployApplication(CxfRsHttpListener.java:393)
at org.apache.openejb.server.rest.RESTService.deployApplication(RESTService.java:463)
at org.apache.openejb.server.rest.RESTService.afterApplicationCreated(RESTService.java:233)
at org.apache.tomee.webservices.TomeeJaxRsService.afterApplicationCreated(TomeeJaxRsService.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.openejb.observer.ObserverManager$MethodInvocation.invoke(ObserverManager.java:399)
at org.apache.openejb.observer.ObserverManager$InvocationList.invoke(ObserverManager.java:514)
at org.apache.openejb.observer.ObserverManager.doFire(ObserverManager.java:110)
at org.apache.openejb.observer.ObserverManager.fireEvent(ObserverManager.java:99)
at org.apache.openejb.loader.SystemInstance.fireEvent(SystemInstance.java:134)
at org.apache.tomee.catalina.TomcatWebAppBuilder.afterStart(TomcatWebAppBuilder.java:1651)
at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:116)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:168)
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:649)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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:744)
Caused by: java.lang.ClassNotFoundException: org.apache.http.HttpException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at org.apache.tomee.catalina.LazyStopWebappClassLoader.loadClass(LazyStopWebappClassLoader.java:129)
... 36 more
Kann mir hier bitte jemand weiterhelfen? Mein Ziel wäre das der TomcatEE PluME mit einer MySQL Datenbank läuft.
Ich benötige ein BPMS Tool für die Umsetzung meiner Masterarbeit und ich würde da gerne Camunda verwenden, wenn ich diese Konfiguration jedoch nicht hinbekomme, muss ich ein anderes Tool wählen.
Vielen Dank!
Karl-Heinz Stöckler