Hi,
I know the Camunda-bpm-processapplication-example project is already quite old, even though I hope someone is able to help me. I’m fairly new to Karaf and OSGi and tried to get Camunda running in Karaf. I wanted to first just get the example project running, but I got some problems.
First of all, when I tried to add the Camunda features into Karaf, I was able to install the minimal version, but not the full. A couple of bundles in camunda-optionals, javax.mail, javax.inject, javax.servlet and javax.persistence couldn’t be resolved.
I doubt that my problem with the small example was related to that though. I was able to build and install it, after I added a missing dependency (camunda-bpm-osgi-processapplication). When I tried to start the bundle I got a missing requirement error though. The org.camunda.bpm.application bundle couldn’t be resolved. I highly suspect that I might have done a mistake myself, could someone please point me in the right direction?
My first question would be why you’re using Karaf and not using one of the pre-built bundles for Tomcat, Websphere, or WildFly? Personally, I think you’re just asking for trouble.
That said, I use Karaf (actually Apache ServiceMix) with another application (Talend ESB) and it works fine, though its management tooling is a bit crude in places.
I know this may not be what you want to here, but you should try one of the pre-built bundles and see if that meets your needs. Otherwise, you may descend into dependency hell and never be seen again.
I can tell that the bundles Camunda produces are very reliable.
Thanks for the suggestion, but not using Karaf is not an option. It’s what I have to work with. After manually loading quite a number of bundles, I was at least able to resolve all the missing requirements.
To whom it may concern, I installed following bundles:
camunda-bpm-osgi (4.1.0)
camunda-bpm-osgi-processapplication (4.1.0)
org.osgi.core (4.2.0)
camunda-engine (7.7.0)
camunda-engine (7.9.0)
org.osgi.service.blueprint (1.0.2)
org.apapche.aries.blueprint.core (1.1.0)
mybatis (3.4.6)
camunda-engine-dmn (7.9.0)
camunda-bpmn-model (7.9.0)
camunda-cmmn-model (7.9.0)
camunda-dmn-model (7.9.0)
camunda-xml-model (7.9.0)
camunda-commons-utils (1.4.0)
camunda-commons-utils (1.5.1)
camunda-commons-logging (1.4.0)
camunda-commons-logging (1.5.1)
camunda-commons-typed-values (1.4.0)
camunda-commons-typed-values (1.5.1)
camunda-engine-dmn (7.7.0)
camunda-engine-dmn (7.9.0)
camunda-engine-feel-juel (7.7.0)
camunda-engine-feel-juel (7.9.0)
camunda-engine-feel-api (7.7.0)
camunda-engine-feel-api (7.9.0)
The bundles in two versions were necessary because of other bundles relying upon the different versions.
Now I run into the error, that my example project bundle is exposed to package ‘org.camunda.bpm.application’ via two dependency chains. I’m trying to figure out this one now.
Turns out I shouldn’t have updated the camunda engine to 7.9.0, used 7.7.0 now and I’m able to start the bundle at least. Now I just need to figure out how I have to implement everything in general.
All higher versions of the bundles that I installed in two versions are now obsolete and all the camunda-*-model bundles need to be installed in version 7.7.0!
I was able to get the project running in the meantime. There were two things that had to be adjusted at the original git repo, there were some missing dependencies and a starting method was missing, too. Both issues were kindly merged into the repo so in addition to the following steps to prepare the Karaf instance the repo is now perfectly working.