【问题标题】:jBPM 7.3.0 persistence with Postgres 9.6jBPM 7.3.0 与 Postgres 9.6 的持久性
【发布时间】:2018-03-14 08:28:58
【问题描述】:

我正在尝试使用 Postgres 9.6.

jbpm-installer-7.3.0.Final 中设置持久性。

经过多次尝试,我能够正确启动服务器和控制台,但在工作台界面中,我无法使用进程或任务。

它显示一个弹出窗口:

无法加载流程定义。检查是否启用了 jBPM 功能以及是否正确设置了远程服务器。

在 Wildfly 部署控制台中我可以看到:

[org.jbpm.workbench.ks.integration.KieServerDataSetManager] (kieserver) 无法在服务器 default-kieserver@localhost:8080 上注册查询很可能是由于缺少 BPM 功能(详情服务器此客户端连接到的没有处理 QueryServicesClient 的能力)

即使来自 Kie 服务器的响应,似乎允许一切(它与 H2 相同,工作正常)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response type="SUCCESS" msg="Kie Server info">
    <kie-server-info>
        <capabilities>KieServer</capabilities>
        <capabilities>BRM</capabilities>
        <capabilities>BPM</capabilities>
        <capabilities>CaseMgmt</capabilities>
        <capabilities>BPM-UI</capabilities>
        <capabilities>BRP</capabilities>
        <capabilities>DMN</capabilities>
        <capabilities>BPMQueries</capabilities>
        <location>http://localhost:8080/kie-server/services/rest/server</location>
        <messages>
            <content>Server KieServerInfo{serverId='default-kieserver', version='7.3.0.Final', location='http://localhost:8080/kie-server/services/rest/server', capabilities=[KieServer, BRM, BPM, CaseMgmt, BPM-UI, BRP, DMN, BPMQueries]}started successfully at Mon Oct 02 17:45:00 CEST 2017</content>
            <severity>INFO</severity>
            <timestamp>2017-10-02T17:45:00.138+02:00</timestamp>
        </messages>
        <name>default-kieserver</name>
        <id>default-kieserver</id>
        <version>7.3.0.Final</version>
    </kie-server-info>
</response>

这是我设置 Postgres 的步骤

我假设前面的所有步骤都已完成,即您为 H2 演示设置所做的那些

  • SET wildfly-10.1.0.Final\modules\org\postgresql\main\module.xml

    &lt;resource-root path="postgresql-42.1.4.jar"/&gt;

    (JAR 位于同一目录中 - 这是 Postgres 9.6 JDBC 4 JDK 8 的驱动程序)

  • 更改standalone-full.xml

        <datasources>
            <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:postgresql:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                <driver>postgresql</driver>
                <security>
                    <user-name>jbpm</user-name>
                    <password>jbpm</password>
                </security>
            </datasource>
            <datasource jta="true" jndi-name="java:jboss/datasources/jbpmDS" pool-name="PostgresqlDS" enabled="true" use-java-context="true" use-ccm="true">
                <connection-url>jdbc:postgresql://localhost:5432/jbpm</connection-url>
                <driver>postgresql</driver>
                <security>
                    <user-name>jbpm</user-name>
                    <password>jbpm</password>
                </security>
            </datasource>
            <drivers>
                <driver name="postgresql" module="org.postgresql">
                    <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>
    
  • 我在 jbpm 数据库上运行 ddl 脚本,使用 jbpm 模式和用户

psql -h localhost -f postgresql-jbpm-schema.sql jbpm jbpm

psql -h localhost -f postgresql-jbpm-lo-trigger-clob.sql jbpm jbpm

  • 我想避免 ant 启动服务器,所以我复制了 Wildfly 10.1.0 启动字符串

    (首先,我设置了一个 JAVA_OPTS 变量,以提高最大 Java 堆大小:-Xms512m -Xmx2G

wildfly-10.1.0.Final\bin\standalone.bat -b localhost --server-config=standalone-full.xml -Dorg.kie.demo=false -Dorg.kie.example=false -Dorg.kie .server.id=default-kieserver -Dorg.kie.server.persistence.ds=java:jboss/datasources/jbpmDS -Dorg.kie.server.controller=http://localhost:8080/jbpm-console/rest/controller -Dorg.kie.server.location=http://localhost:8080/kie-server/services/rest/server -Dorg.kie.server.persistence.dialect=org.hibernate.dialect.PostgreSQL94Dialect

就是这样。

【问题讨论】:

    标签: hibernate jdbc wildfly jbpm postgresql-9.6


    【解决方案1】:

    这很可能是由于您的服务器模板(带有 id default-kieserver)没有进程功能。进入 Deployments -> Execution Servers 并从那里删除模板。然后重新启动服务器,kie 服务器应正确注册其所有功能。

    或者,您可以使用给定的 ID/名称手动创建服务器模板,这应该是所需要的。

    【讨论】:

    • 谢谢,但是解决不了这个问题,是不是因为我使用的是默认数据源:java:jboss/datasources/ExampleDS, org.hibernate.dialect.H2Dialect?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2013-03-13
    相关资源
    最近更新 更多