我使用的是jbpm版本7.28.0。除了连接到默认的数据库H2之外,我需要使用Mssql配置它。我遵循备注并编辑了\standalone\configuration\standalone.xml <datasources>元素如下;
<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:mssql:mem:test.DB_CLOSE_DELAY=-1.DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>mssql</driver>
<security>
<user-name>jbpm</user-name>
<password>Jbpm@123</password>
</security>
</datasource>
<xa-datasource jndi-name="java:jboss/datasources/jBPMDS" pool-name="jBPMXADS" enabled="true">
<xa-datasource-property name="URL">jdbc:mssql:file:${jboss.server.data.dir}/jbpm-db;MVCC=TRUE</xa-datasource-property>
<xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerDataSource</xa-datasource-class>
<driver>mssql</driver>
<security>
<user-name>jbpm</user-name>
<password>Jbpm@123</password>
</security>
</xa-datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>但我会跟着错误走。
16:16:35,776错误org.jboss.as.controller.management-operation WFLYCTL0013:操作(“添加”)失败-地址:(“子系统”=>“数据源”),(“数据源”“=>”ExampleDS)-故障描述:{ "WFLYCTL0412:未安装的所需服务:“=> "jboss.jdbc-driver.mssql",“"jboss.driver-demander.java:jboss/datasources/ExampleDS :缺少/不可用依赖项的服务”=> [=>缺少jboss.jdbc-driver.mssql",“org.Wildfly.data- Services .unavailable缺少jboss.jdbc-driver.mssql”]}
我不确定我所做的配置是否正确。如何解决这一问题并将JBPM与MSSQL连接?
发布于 2019-10-28 15:48:49
两个数据源都使用“mssql”驱动程序。但这个司机是找不到的。我建议为H2数据库和mssql数据库创建两个不同的驱动程序。
发布于 2021-06-05 18:02:17
ExampleDS of H2数据库包含了一些过程样本。需要javax.xml.bind.api。我为jbpm编写了jbpm-sqlserver-config.cli (7.54.0)。试试下面这个。(jdk11,sqlserver2012在上面)
jbpm-sqlserver-config.cli
embed-server --server-config=standalone.xml
try
module add --name=com.microsoft.sqlserver --resources=drivers/mssql-jdbc-9.2.1.jre11.jar --dependencies=javax.api,javax.transaction.api,javax.xml.bind.api
catch
echo "SQLServer module exists"
end-try
if (outcome != success) of /subsystem=datasources/jdbc-driver=sqlserver:read-resource
/subsystem=datasources/jdbc-driver=sqlserver:add(driver-name=sqlserver,driver-module-name=com.microsoft.sqlserver,driver-xa-datasource-class-name=com.microsoft.sqlserver.jdbc.SQLServerXADataSource)
end-if
if (outcome == success) of /subsystem=datasources/xa-data-source=jBPMXADS:read-resource
/subsystem=datasources/xa-data-source=jBPMXADS:remove
end-if
xa-data-source add --name=jBPMXADS --jndi-name="java:/MSSQLXADS" --driver-name=sqlserver --user-name=jbpm --password=jbpm --xa-datasource-class=com.microsoft.sqlserver.jdbc.SQLServerXADataSource --xa-datasource-properties=[ServerName=10.255.255.88, PortNumber=1433, DatabaseName=jbpm] --background-validation=false --valid-connection-checker-class-name=org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker
if (outcome != success) of /system-property=org.kie.server.persistence.ds:read-resource
/system-property=org.kie.server.persistence.ds:add(value="java:/MSSQLXADS")
else
/system-property=org.kie.server.persistence.ds:write-attribute(name=value,value="java:/MSSQLXADS")
end-if
if (outcome != success) of /system-property=org.kie.server.persistence.dialect:read-resource
/system-property=org.kie.server.persistence.dialect:add(value="org.hibernate.dialect.SQLServer2012Dialect")
else
/system-property=org.kie.server.persistence.dialect:write-attribute(name=value,value="org.hibernate.dialect.SQLServer2012Dialect")
end-if
if (outcome != success) of /system-property=org.kie.server.id:read-resource
/system-property=org.kie.server.id:add(value="sample-server")
else
/system-property=org.kie.server.id:write-attribute(name=value,value="sample-server")
end-if
if (outcome != success) of /system-property=org.kie.server.controller:read-resource
/system-property=org.kie.server.controller:add(value="http://localhost:8080/business-central/rest/controller")
else
/system-property=org.kie.server.controller:write-attribute(name=value,value="http://localhost:8080/business-central/rest/controller")
end-if
if (outcome != success) of /system-property=org.kie.server.location:read-resource
/system-property=org.kie.server.location:add(value="http://localhost:8080/kie-server/services/rest/server")
else
/system-property=org.kie.server.location:write-attribute(name=value,value="http://localhost:8080/kie-server/services/rest/server")
end-if
if (outcome != success) of /system-property=org.jbpm.casemgmt.showcase.url:read-resource
/system-property=org.jbpm.casemgmt.showcase.url:add(value="/jbpm-casemgmt")
else
/system-property=org.jbpm.casemgmt.showcase.url:write-attribute(name=value,value="/jbpm-casemgmt")
end-if
stop-embedded-server./jbos-cli.sh-file=jbpm-sqlserver-config.cli
您必须在sqlserver上创建jbpm数据库,并给予适当的访问权限。仔细阅读ms网站上的“理解XA事务”。
https://stackoverflow.com/questions/58592994
复制相似问题