Select Engine Dropdown

Hello all,

this seems like an unnecessary question due it being very simple. However, I was not able to find the dropdown, that lets me change current displayed engine.
According to this https://docs.camunda.org/manual/7.9/webapps/cockpit/dashboard/#multi-engine it seems possible if u have multiple engines and it seems to be included in the community edition, isn’t it?

What are the requirements for the dropdown to appear? How can I even configure which engines are included and which are not?

To clarify my current situation: I have one camunda spring boot service that runs the cockpit (webapps). And I have several other spring boot camunda services that have no webapps but the rest api. And now I want to be able to see their processes in one cockpit. And as far as the above shown entry says, it should be possible right?

All engines will share the same state if you have multiple engines with the same data-source. The drop down in cockpit would appear if you have multiple engines each with it’s own database schema. It’s used specifically for multi-tenancy environments.

I understand. Thanks for the quick reply.
But since I created 3 different spring boot applications with h2 databases they have different data-sources, don’t they? or does it not work with h2? (speaking of all engines being local shouldn’t change the outcome, or does it?)
If so how does it detect/find the other engines?

Indeed they do.

The only way that cockpit can know about other engines is if all engines are deployed to the same application server or they share the same data-source.

2 Likes

Hi again,

I still can’t figure out how the cockpit instance knows on which port it finds the other engines. As I assume it gets all the data via REST. Is this assumption incorrect? Is there any configuration I need to add so it finds my other local engines?

What exactly are you trying to do?
Why are you looking for an engine overview?

I want one single camunda cockpit to monitor/display multiple bpmn workflow engines so their processes can be monitored.

Hi @gulk,

the dropdown only work for multiple engines defined in the same jvm as mentioned here: https://docs.camunda.org/manual/7.12/user-guide/process-engine/multi-tenancy/#one-process-engine-per-tenant.

Unfortunately, the Camunda-Spring-boot-starter can only run a single process engine in it’s JVM: https://docs.camunda.org/manual/latest/user-guide/spring-boot-integration/#supported-deployment-scenarios.

The code behind the selectbox implements this interface: https://docs.camunda.org/javadoc/camunda-bpm-platform/7.12/org/camunda/bpm/engine/rest/spi/ProcessEngineProvider.html

An example implementation can be found here: https://docs.camunda.org/javadoc/camunda-bpm-platform/7.12/org/camunda/bpm/webapp/impl/engine/ContainerManagedProcessEngineProvider.html.

It could be possible to implement the interface to provide access to the datasources with some simplfied generated process engines. You will need some insights to set up a process engine programmatically, but as everything is open source, the github repo will be your friend: https://github.com/camunda/camunda-bpm-platform

Disclaimer: I havn’t tried it by myself and don’t know if there are some pitfalls to prevent this.

Hope this helps, Ingo

3 Likes

Hi @Ingo_Richtsmeier,

thank you very much for this detailed answer.
So in order to access the engines of other applications I need to define these engines with their given data source (given they are different, but the apps are on the same application server), in the cockpit app? But due to being able of defining only one engine in Spring, this is not possible with Spring. Did I understand everything correctly?

I installed camunda community and defined multiple engines, so they are shown, but there engines are basically duplicates of the ones in the other apps. I couldn’t find a way to access them in any other way. Therefore my assumption and question for clarification above.

Your answer helps in other ways regardless, therefore thank you again!