JBPM 7.48/PAM 7.10 下 SQL Server 的对象名称无效

问题描述

我最近从 JBPM 7.44/PAM 7.9.1 升级到 JBPM 7.48/PAM 7.10.0 并在 JBPM 持续处于安全状态时(即,当 JBPM 尝试保存一个处理它对 Hibernate 的使用抛出关于 NodeInstanceLog 和 SessionInfo 是一个无效对象的异常)。我在我的 persistence.xml 中添加了几个持久性单元,删除/添加sql Server for JBPM 中的表,并在他们的文档中发布了 RedHat 引用的 ALTER TABLE 命令以避免死锁。使用 JDBC 访问 JBPM 表工作正常,NodeInstanceLog 和 Session 都是 AMS_JBPM.dbo.NodeInstanceLog 中的表。

对如何更正我的配置有任何想法吗?

这是我的堆栈跟踪的结尾:

            <datasources>
                <datasource jndi-name="java:jboss/datasources/ExampleDS" jta="true" 
                pool-name="ExampleDS" enabled="true" use-java-context="true">
                    <connection-url>jdbc:sqlserver://${db.server};DatabaseName=AMS_JBPM</connection-url>
                    <driver>sqlserver</driver>
                    <security>
                        <user-name>${db.jbpm.user}</user-name>
                        <password>${db.jbpm.pwd}</password>
                    </security>
                 </datasource>
                <drivers>
                    <driver name="sqlserver" module="com.microsoft.sqlserver.jdbc">
                        <driver-class>com.microsoft.sqlserver.jdbc.sqlServerDriver</driver-class>
                    </driver>
                </drivers>
            </datasources>

这是我在 standalone-full.xml 中的数据库配置:(当我没有在连接 URL 中指定 DatabaseName 时,我也运行了相同的结果)

<hibernate-configuration>
   <session-factory>
      <property name="hibernate.dialect">org.hibernate.dialect.sqlServer2012Dialect</property>
      <property name="hibernate.max_fetch_depth">3</property> 
      <property name="hibernate.hbm2ddl.auto">none</property>
      <property name="hibernate.show_sql">true</property>      
      <property name="hibernate.id.new_generator_mappings">false</property>
      <property name="hibernate.transaction.jta.platform">
          org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform</property>
      <property name = "hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.sqlServerDriver</property>
      <property name = "hibernate.connection.url">jdbc:sqlserver://${server};DatabaseName=AMS_JBPM</property>
      <property name = "hibernate.connection.username">${db.jbpm.user}</property>
      <property name = "hibernate.connection.password">${db..jbpm.pwd}</property>
      <mapping resource="User.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

Hibernate 似乎是在 Business Central 中定义的,但我也有一个 hibernate.config.xml 文件

persistence.xml

{{1}} 是类似的 - 但考虑到其中提到的类的数量,可能无法在此处列出。我使用 Hibernate 运行,没有在连接 URL 中引用 DatabaseName,指定认模式,并使用 JBossstandAloneJtaPlatform(而不是 JBossAppServerJtaPlatform)。我的 persistence.xml 定义了许多类的持久性单元,包括 SessionInfo 和 NodeInstanceLog。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...