当前位置: 首页 > 知识库问答 >
问题:

如何从jBPM的默认h2db切换到另一个数据库,如MariaDB?

柳高卓
2023-03-14

我已经在jBPM 7.53 Final中安装了MariaDB连接器。jar文件和本地配置的MariaDB数据库。在管理控制台中检查,发现数据源和JDBC连接器看起来不错(启用了MariaDBDS),但在运行时显示了一个错误“启动服务器时发生了引导错误”。

故障描述:{“WFLYCTL0412:未安装的必需服务:”=

缺少依赖项:jboss.driver-demander.java:jboss/MariaDBDS缺少[jboss.jdbc-driver.mariadb-java-client-2_7_1_jar]org.wildfly.data。MariaDBDS丢失[jboss.jdbc-driver.mariadb-java-client-2_7_1_jar]

我已经在jBPM单机版中配置了MariaDB Java连接器。xml

<subsystem xmlns="urn:jboss:domain:datasources:5.0">
    <datasources>
        <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
            <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
            <driver>h2</driver>
            <security>
                <user-name>sa</user-name>
                <password>sa</password>
            </security>
        </datasource>
        <datasource jta="true" jndi-name="java:jboss/MariaDBDS" pool-name="MariaDBDS" enabled="true" use-java-context="true" use-ccm="true">
            <connection-url>jdbc:mariadb://localhost:3306/mysql</connection-url>
            <driver-class>org.mariadb.jdbc.Driver</driver-class>
            <driver>mariadb-java-client-2.7.1.jar</driver>
            <security>
                <user-name>root</user-name>
                <password>admin</password>
            </security>
            <validation>
                <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                <validate-on-match>true</validate-on-match>
                <background-validation>false</background-validation>
                <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
            </validation>
        </datasource>
        <drivers>
            <driver name="mariadb" module="org.mariadb">
                <xa-datasource-class>org.mariadb.jdbc.MariaDbDataSource</xa-datasource-class>
            </driver>
            <driver name="h2" module="com.h2database.h2">
                <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
            </driver>
        </drivers>
    </datasources>
</subsystem>

我已经将MariaDBJava连接器复制到JBPM_HOME/模块/com/Mariadb/main/mariadb-java-client-2.7.1.jar,并配置module.xml如下:

<module xmlns="urn:jboss:module:1.1" name="org.mariadb">
    <resources>
        <resource-root path="mariadb-java-client-2.7.1.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

此外,在商业中心的新流程实例中出现了这个注意事项:在这里输入图像描述

我在这些步骤中遗漏了什么或改变了什么?知道jBPM是否与外部DB一起工作吗?

共有2个答案

从阎宝
2023-03-14

您可以参考从jbpm切换到另一个数据库的文档。org获取详细步骤。

桂志诚
2023-03-14

@KrenarR您是否也在系统属性下设置了这些属性?

<property name="org.kie.server.persistence.ds" value="java:jboss/MariaDBDS"/>
<property name="org.kie.server.persistence.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>

您还可以通过jboss_cli将驱动程序添加为核心模块:

module add --name=org.mariadb --resources=mariadb-java-client-2.7.1.jar --dependencies=javax.api,javax.transaction.api

还要检查数据源中的这一行:

<driver>mariadb-java-client-2.7.1.jar</driver>

我认为它应该只是您定义的驱动程序名称:

<driver>mariadb</driver>
 类似资料:
  • 我在我的springBoot应用程序中添加了H2DB,用于单元测试目的。 应用中测试。我刚刚添加的属性: Spring数据源。名称=h2db spring.h2.console.enabled=true 它工作正常,节省了价值。 但它是如何工作的,我如何浏览这个数据库?

  • 问题内容: 我需要将表从一个数据库复制到另一个数据库。这将是一个cronjob。哪一种是最好的方法?PHP脚本或Shell脚本。PHP的问题是,两个数据库都有不同的用户名和密码,所以我不能这样做。 我应该只连接第一个DB以获得所有记录,然后使用WHILE循环将所有记录插入新数据库,还是有更好的方法? 我更喜欢用shell脚本代替PHP脚本来执行此操作。 谢谢 问题答案: 我把它丢了。比任何基于PH

  • 以下是活动2的代码:包helloworld.app; 以下是活动1的xml文件代码: 编辑:以下是来自logcat的错误消息 08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.view.view$1.onclick(View.java:3578) 08-01 07:01:11.673:E/AndroidRuntime(1326):at And

  • 问题内容: 我正在尝试将数据从一个数据库复制到另一个数据库。一切工作正常,直到修改了源数据库中的一行之一(下面的堆栈跟踪)。按预期将新行添加到目标数据库。 对于每个数据库连接(mysql和hsqldb),我都有一个由以下bean组成的上下文文件: 在我为每个数据库连接中创建一个: 很简单: 我正在使用Spring Integration将2种服务方法连接在一起。服务方法如下: 我尝试过从s 分离列

  • 有没有一个简单的方法可以做到这一点?

  • 是否有可能在运行时使用Appium从一个应用程序切换到另一个应用程序。 谢啦