plexiti / camunda-grails-plugin

Integrates Camunda BPM with the Grails framework.
http://grails.org/plugin/camunda
Apache License 2.0
18 stars 8 forks source link

Generate migration changelog #16

Closed Manas101 closed 10 years ago

Manas101 commented 10 years ago

Hi, we have a problem with generate new changelog after install camunda plugin. The error is: DbmGenerateChangelog: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camundaProcessEngineBean': FactoryBean threw exception on object creation; nested exception is org.camunda.bpm.engine.ProcessEngineException: Cannot register service org.camunda.bpm.platform.process-engine:type=default with MBeans Container, service with same name already registered.

We don't know if it is camunda or migration plugin problem... Any idea?

Thanks a lot

martinschimak commented 10 years ago

Hi. Thank you very much for that hint! I can reproduce the issue. The plugin is a very first version 0.1 and this simply has not been tested yet. Probably it's connected to the way the database-migration plugin bootstraps the grails environment... which clashes with the way camunda boots its process engine. I will definitely look into that with high priority, because it's important to make the plugin work with the database-migration plugin... but I cannot yet promise any time frame. Further findings are very welcome, of course. I will update this issue when I learn more about it and/or release a fix.

martinschimak commented 10 years ago

In case @meyerdan or @nikku can share any useful associations here this would be very welcome in order to speed up the search for a solution. Many thx.

meyerdan commented 10 years ago

Hi Martin,

I see that you use org.camunda.bpm.engine.spring.container.ManagedProcessEngineFactoryBean in CamundaPluginSupport

This will register the process engine with the RuntimeContainer which is JMX in your environment. From the error message mentioned by @Manas101 I gather that the same process engine with the same name is registered more than once. I am not sure how the grails upgrade mechanisms work, maybe they boot two different versions of the same app and somehow compare the differences?

A proposal would be to use a purely embedded process engine. I'll try to make a pull request with the proposal. Then you can evaluate whether it's a good solution.

Daniel