Jbpm对Mysql外部数据库的持久性

问题描述

使用jbpm 7.43.1

我是Business Central,jbpm和drool的新手,我正在尝试使引擎与MysqL数据库一起使用。我在设置数据对象的持久性以及在业务流程中使用Executesql时遇到问题。我认为使用内置数据集和数据源功能来设置数据库连接和访问表将使此操作变得更加容易。是否有任何资源可以帮助我进行此设置?我可以使用数据集和数据源很好地访问数据,但是项目在部署时无法找到它。

在项目设置中,我有

Persistence unit name = dataSourceName
Persistence data source = java:jboss/datasources/dataSourceName
Marshalling Strategies name = new org.drools.persistence.jpa.marshaller.JPAPlaceholderResolverStrategy("dataSourceName",classLoader)

我在日志中发现的错误

ERROR [org.kie.server.services.jbpm.JbpmKieServerExtension] (default task-6) Error when creating container optimusRules_1.0.0-SNAPSHOT by extension jBPM KIE Server extension: java.lang.RuntimeException: [Error: Could not create constructor: null]
....
[Near : {... new org.drools.persistence.jpa.mar ....}]
Caused by: javax.naming.NameNotFoundException: datasources/netcoolDev -- service jboss.naming.context.java.jboss.datasources.dataSourceName
Caused by: org.hibernate.engine.jndi.JndiException: Unable to lookup JNDI name [java:jboss/datasources/dataSourceName]

解决方法

您的数据源指向不正确,请正确更新事务类型为jta和jta数据源节点的persistent.xml。