Problem while starting a route (kar file) in karaf
Hello,
I got two processes, the first is consuming data with a job (RESTEndpoint) and save the data into a activemq. This job is in my karaf "main" container "Runtime_ESBSE/container/deploy/". This Job is working well.
The second process is a route, this route is consuming the messages from the messagequeue and send it throtteled into a job, witch is extracting data and save it mapped into the database.
INFO: I use Talend ESB Openstudio, there i start my job with the RESTEndoint and the route, everything is working.
Deploy:
In karaf i got some issus, I don't be able to set both processes in the same container (BindException becouse of rmi-registry-port and rmi-server port).
I cloned the main container with "admin:clone" and setup the route in the new container. First i had to fix some issus manually in the new container. But now the container is starting and i will get there with admin:connect.
But the route is not working, I installed the service and tryed to start the osgi part of the service, but i got an class not found exception.
feature:list [installed ] [0.1 ] mqProcess-feature mqProcess-feature
osgi:list [ 248] [Installed ] [ ] [ ] [ 80] mqProcess (0.1) If i try to start it ("osgi:start 248") following exception is shown:
Error executing command: Error starting bundles: Unable to start bundle 248: The bundle "dav.mqProcess_0.1.0 [248]" could not be resolved. Reason: Missing Constraint: Import-Package: org.apache.activemq; version="0.0.0"
First, you can make a new container by using the scripts in the container/scripts folder, for example, execute "source configureC1.sh" from the new unzipped container console, you will get a new container with http port 8041, rmi 1100 port, etc configured.
For the class not found exception, it should not be happen if the exported kar file is correct, but could you check by executing "feature:install activemq" on the contaienr console manually before you deploy the kar file?
Hi Dai,
I'm working on the same project as the OP. By now we got this working flawlessly with 2 containers.
However, I'm not sure if our initial idea is correct to model the REST interface as Job and model the rest as a route. Logically it should be possible to run both applications in the same container?
Or would it be better to model the REST endpoint also as a route model?