我可以在同一个数据库中有两个 Spring Boot Camunda 应用程序吗?
Can I have two Spring Boot Camunda applications in same db with different schema
我正在尝试启动两个不同的 Spring Boot Camunda 应用程序。第一个启动非常好,并在数据库中创建 table 和所有内容。但是,当我尝试启动第二个应用程序时,它失败了。需要明确的是,如果有意义的话,我希望应用程序将它们的模式体验为它们自己的数据库。启动第二个 Spring 启动应用程序时出现的错误是:
ENGINE-16004 Exception while closing command context:
### Error querying database. Cause: org.postgresql.util.PSQLException: ERROR: relation "act_ge_property" does not exist
Position: 15
### The error may exist in org/camunda/bpm/engine/impl/mapping/entity/Property.xml
### The error may involve org.camunda.bpm.engine.impl.persistence.entity.PropertyEntity.selectProperty-Inline
### The error occurred while setting parameters
### SQL: select * from ACT_GE_PROPERTY where NAME_ = ?
### Cause: org.postgresql.util.PSQLException: ERROR: relation "act_ge_property" does not exist
Position: 15
我只有一个 Postgres 数据库,但应用程序连接到不同 username/password 的数据库。他们的用户拥有自己的架构,并且无权访问数据库中的其他架构。
为这两个应用程序设置了以下应用程序属性:camunda.bpm.datasource.schema-update=true
。
阅读有关 Camunda 的文档后,我可以看到 .schema-update=true
应该创建 table 如果它们不存在。
我不明白为什么第二个应用程序不创建 tables。
对于 Postgres 架构配置,我使用以下命令创建它们:
CREATE USER applicationName WITH PASSWORD 'r4nd0m';
CREATE SCHEMA AUTHORIZATION applicationName;
我不知道问题是出在配置 Camunda 应用程序还是 privileges/creation 关于模式。
如有任何帮助,我们将不胜感激!
是的,你可以。此项目向您展示如何配置两个独立的 Camunda 实例,它们在同一数据库中使用两个单独的模式。
https://github.com/rob2universe/two-camunda-instances
基本属性是:
Spring.datasource:
url: jdbc:postgresql://localhost:5432/postgres?autoReconnect=true
username: cam1
password: cam1
driver-class-name: org.postgresql.Driver
server.port: 8081
server:
servlet:
context-path: /cam1
camunda:
bpm:
database:
schema-name: cam1
table-prefix: cam1.
我正在尝试启动两个不同的 Spring Boot Camunda 应用程序。第一个启动非常好,并在数据库中创建 table 和所有内容。但是,当我尝试启动第二个应用程序时,它失败了。需要明确的是,如果有意义的话,我希望应用程序将它们的模式体验为它们自己的数据库。启动第二个 Spring 启动应用程序时出现的错误是:
ENGINE-16004 Exception while closing command context:
### Error querying database. Cause: org.postgresql.util.PSQLException: ERROR: relation "act_ge_property" does not exist
Position: 15
### The error may exist in org/camunda/bpm/engine/impl/mapping/entity/Property.xml
### The error may involve org.camunda.bpm.engine.impl.persistence.entity.PropertyEntity.selectProperty-Inline
### The error occurred while setting parameters
### SQL: select * from ACT_GE_PROPERTY where NAME_ = ?
### Cause: org.postgresql.util.PSQLException: ERROR: relation "act_ge_property" does not exist
Position: 15
我只有一个 Postgres 数据库,但应用程序连接到不同 username/password 的数据库。他们的用户拥有自己的架构,并且无权访问数据库中的其他架构。
为这两个应用程序设置了以下应用程序属性:camunda.bpm.datasource.schema-update=true
。
阅读有关 Camunda 的文档后,我可以看到 .schema-update=true
应该创建 table 如果它们不存在。
我不明白为什么第二个应用程序不创建 tables。
对于 Postgres 架构配置,我使用以下命令创建它们:
CREATE USER applicationName WITH PASSWORD 'r4nd0m';
CREATE SCHEMA AUTHORIZATION applicationName;
我不知道问题是出在配置 Camunda 应用程序还是 privileges/creation 关于模式。
如有任何帮助,我们将不胜感激!
是的,你可以。此项目向您展示如何配置两个独立的 Camunda 实例,它们在同一数据库中使用两个单独的模式。
https://github.com/rob2universe/two-camunda-instances
基本属性是:
Spring.datasource:
url: jdbc:postgresql://localhost:5432/postgres?autoReconnect=true
username: cam1
password: cam1
driver-class-name: org.postgresql.Driver
server.port: 8081
server:
servlet:
context-path: /cam1
camunda:
bpm:
database:
schema-name: cam1
table-prefix: cam1.