Camunda 不使用 MySql 作为数据库
Posted
技术标签:
【中文标题】Camunda 不使用 MySql 作为数据库【英文标题】:Camunda doesnt use MySql as Database 【发布时间】:2019-01-09 13:25:07 【问题描述】:我正在使用 Camunda BPM 7.9.0 设置 Wildfly 11 应用服务器。 部署工作正常。我还部署了 mysql Connector for Java 并为我的数据库创建了一个数据源。但是 Camunda 不会使用该数据源。我已经查阅了很多教程,但我已经根据这些正确设置了。
我曾尝试手动添加 mysql 连接器,现在我使用了运行良好的部署方法。我还尝试了包括操作系统在内的所有内容的全新安装。我在 Ubuntu Server 18.04 LTS 上(如果这是一个问题,我认为不是,请告诉我)。我还删除了默认数据源,结果 Camunda 无法再部署,但 Wildfly 服务器在线。这表明它仍然连接到 H2 数据库。
<datasource jta="true" jndi-name="java:/camunda" pool-name="MySqlDS" enabled="true" use-ccm="false" statistics-enabled="true">
<connection-url>jdbc:mysql://localhost:3306/camunda</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver>mysql</driver>
<security>
<user-name>MyUser</user-name>
<password>MyPass</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<background-validation>true</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="mysql" module="com.mysql.driver">
<driver-class>com.mysql.jdbc.Driver</driver-class>
</driver>
</drivers>
使用此配置,我希望它连接到 MySQL 数据库,但它仍然使用 H2 数据库。这是我唯一需要做的事情还是我需要在 .war 文件中编辑某些内容?
最好的问候
【问题讨论】:
【参考方案1】:我只能猜测,但是您是否还配置了 camunda 以选择 mysql DB? 您复制的部分只是数据源的设置(它存在),但您需要转到告诉 camunda 使用哪个数据库的部分。
查看:https://docs.camunda.org/manual/7.4/user-guide/runtime-container-integration/jboss/ 示例。
<subsystem xmlns="urn:org.camunda.bpm.jboss:1.1">
<process-engines>
<process-engine name="default" default="true">
<datasource>java:jboss/datasources/ProcessEngine</datasource> <--- HERE!
<history-level>full</history-level>
....
【讨论】:
【参考方案2】:感谢您的回答! 我发现您需要在 camunda.war 文件的 ApplicationContext.xml 中更改它。 需要更改的值为:
<property name="driverClassName" value="java.sql.Driver" />
<bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
<property name="targetDataSource">
<bean class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="java.sql.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/dbname" />
<property name="username" value="user" />
<property name="password" value="pass" />
</bean>
</property>
我希望这对其他人有帮助!
【讨论】:
以上是关于Camunda 不使用 MySql 作为数据库的主要内容,如果未能解决你的问题,请参考以下文章