使用 Spring Boot 和 mongodb 运行 camunda

Posted

技术标签:

【中文标题】使用 Spring Boot 和 mongodb 运行 camunda【英文标题】:running camunda with Spring boot & mongodb 【发布时间】:2018-04-22 09:24:45 【问题描述】:

有没有人能够让 Camunda 与 Spring Boot 和 mongodb 一起运行?

我尝试了几种方法,但总是碰壁。

我尝试了什么:

1. jpa / hibernate-ogm

在创建自己的CamundaDatasourceConfigurationProcessEngineConfigurationImpl 后,我能够启动与 mongo 的连接。 Camunda 尝试获取表元数据时失败。我无法消除这种行为。

2。 mongo 的 jdbc 驱动程序(按进度)

我设置了 jdbc url 和 driver class by progress。 然后,Camunda 在启动过程中卡住了,没有到达 Jetty 完全启动的地步,即日志中的“Jetty 在端口 XYZ 上启动”消息。

3。 camunda 与 postgres 与 mongo FDW

FDW 是一种用于 postress 连接外部数据源的机制。这样,应用程序可以通过 jdbc 使用 postgres,而 FDW 将负责将日期读取和写入到外部源,无论是文件、mongodb 等。

在意识到 1 和 2 不起作用后,我开始研究 3。

有没有人成功做到这一点并且可以分享如何?

【问题讨论】:

你有没有找到解决方案,因为我想做同样的事情。 不,抱歉,我没有。 postgres Mongo 连接器看起来很有前途,但我没有追求它。 这不是一个更大的概念问题吗?如果我理解正确,Camunda 使用某种事务来确保如果中间的某些操作失败,该过程不会从 A 点移动到 B 点。 Mongo 中没有交易,它怎么能工作? 这是一个概念问题。 Camunda 使用 jdbc api 与数据库交互、查询或获取其元数据。它适用于支持的数据库,但不适用于 MongoDB。我没有深入到事务领域,所以我不确定,但一般来说,Mongo DB 中有一些方法可以处理事务,无论是应用程序还是架构。 @Amnon 你的 POC 代码在 github 的某个地方,我们可以看看吗? 【参考方案1】:

所以我遇到了同样的问题并决定与您分享我的答案。

目前无法使用 NoSQL 数据库运行 Camunda-Engine。

在 Camunda-Forum-Post 中,Camunda 的一个人还说,没有数据库就不可能完全运行引擎。

在官方 Camunda-Docs 中还有一个包含所有支持环境的列表。目前只列出了 SQL 数据库:

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

但在他们提到的一些较早的博客文章中,他们希望使用 NoSQL 数据库制作一些概念验证示例。因此,我们可以预期,这些数据库将在未来得到支持,但目前还不支持。

(注意:流动引擎正在做同样的概念证明,他们提到,他们希望能够在明年年底之前使用 NoSQL 数据库)。

【讨论】:

现在任何nosql(mongodb)都可以使用吗?

以上是关于使用 Spring Boot 和 mongodb 运行 camunda的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Boot WebFlux、Spring Data MongoDB Reactive 和 ReactiveMongoRepository 更新 1 个或多个特定字段 MongoDB

spring boot系列spring boot 使用mongodb

Spring Boot:Spring Boot 中 MongoDB 的使用

使用 Spring Security、Spring Boot 和 MongoDB 进行密码编码和解码

Spring Boot MongoDB 应用配置

如何避免使用 Spring-Boot 下载嵌入式 MongoDb