5

Has anyone been able to get Camunda to run with Spring Boot and mongodb?

I tried several approaches and always got into a brick wall.

What I tried:

1. jpa / hibernate-ogm

I was able to initiate a connection to mongo after creating my own CamundaDatasourceConfiguration and ProcessEngineConfigurationImpl. It failed when Camunda tried to get table metadata. I couldn't plug out this behavior.

2. jdbc driver for mongo by progress

I set up the jdbc url and driver class by progress. Camunda then gets stuck during the startup process and does not get to the point where Jetty is fully started, i.e. the "Jetty started on port XYZ" message in the log.

3. camunda with postgres with mongo FDW

FDW is a mechanism for postress to interface an external datasource. This way an application can work with postgres over jdbc while the FDW will take care of reading and writing the date to the external source, be it a file, mongodb, etc.

After realizing 1 and 2 don't work, I started working on 3.

Has anyone succeeded in doing this and can share how?

Amnon
  • 2,212
  • 1
  • 19
  • 35
  • Did you ever find a solution to this as i would like to do the same thing. – Code Junkie Oct 02 '18 at 09:03
  • No, sorry, I did not. The postgres Mongo connector seemed promising, but I did not pursue it. – Amnon Oct 04 '18 at 07:55
  • Isn't it a bigger - conceptual - problem? If I understand correctly Camunda uses some sort of transactions to assure that process will not move from point A to B if some action in the middle fails. There's no transactions in Mongo so how could it work? – bartnikiewi.cz Oct 10 '18 at 10:34
  • It is a conceptual problem. Camunda uses jdbc api to interact with the db, query it or get its metadata. It works for the supported databases, but not for MongoDB. I did not get as far as the transactions area, so I am not sure about it, but, generally, there are ways around transactions in Mongo DB, either applicative or architectural. – Amnon Oct 10 '18 at 10:40
  • @Amnon Do you have your POC code somwhere in github, so we can take a look? – Espresso Dec 28 '18 at 15:47
  • Did you check [zeebe](https://zeebe.io/)? – Ahmet Koylu Dec 06 '20 at 19:02

1 Answers1

0

so I ran into the same problem and decided to share my answers with you.

Currently it is not possible to run the Camunda-Engine with a NoSQL Database.

In this Camunda-Forum-Post one of the guys at Camunda also says it is not possible to run the engine completely without a database.

And in the offical Camunda-Docs there is also a list with all supported environments. Currently there are only SQL-Databases listed:

https://docs.camunda.org/manual/7.10/introduction/supported-environments/

But in some earlier Blog-Posts they metioned, that they want to make some proof-of-concept examples with the use of NoSQL-Databases. So we can expect, that these databases will be supported in the future, but not at the moment.

(note: the flowable engine is doing the same proof of concepts, they mentioned, that they want to be able to use NoSQL-databases by the end of the next year).

Amnon
  • 2,212
  • 1
  • 19
  • 35
MuffinMICHI
  • 480
  • 5
  • 13