Попытка использовать базу данных MySQL вместо H2 для получения информации о процессе [в AS7]- консоль jbpm НЕ развертывается

Это было несколько разочаровывающих нескольких дней, пытаясь заставить это работать. При попытке перезапустить сбойные процессы я не смог получить информацию об экземпляре процесса из таблиц H2, в которых хранятся данные. Я решил использовать другую СУБД, к которой у меня есть доступ -MySQL.

Я настроил свой пакет на использование базы данных MySQL вместо базы данных в памяти по умолчанию для записи данных процесса. Я следовал нескольким примерам, чтобы понять, где я сейчас нахожусь. Основная документация, которую я использую,

https://zorq.net/b/2011/07/12/adding-a-mysql-datasource-to-jboss-as-7/+
https://developer.jboss.org/wiki/DataSourceConfigurationinAS7

я имею

1.) Загрузил драйвер MySQL с dev.mysql.com и после ДНЕЙ попыток заставить его работать, понял, что он совместим с JDBC-4, и его нужно было манипулировать, чтобы он работал 2.) Установил драйвер как модуль, создав файл модуля в jboss / modules / com / mysql / main:

 <module xmlns="urn:jboss:module:1.0" name="com.mysql">
         <resources>
                <resource-root path="mysql-connector-java-5.1.35-bin_COMPLIANT.jar"/>
         </resources>
         <dependencies>
                 <module name="javax.api"/>
                 <module name="javax.transaction.api"/>
          </dependencies>
 </module>

3.) Определен источник данных в автономной конфигурации jboss / standalone / configuration / standalone-full.xml:

   <datasources>
            <datasource jta="true" jndi-name="java:jboss/datasources/jbpmDS" pool-name="jbpmDS" enabled="true" use-java-context="true" use-ccm="true">
                <connection-url>jdbc:mysql://localhost:3306/jbpm6</connection-url>
                <driver>mysql</driver>
                <security>
                    <user-name>root</user-name>
                    <password>pass</password>
                </security>
            </datasource>
            <drivers>
                <driver name="mysql" module="com.mysql">
                    <driver-class>com.mysql.jdbc.Driver</driver-class>
                    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>

5.) БД JBPM также была создана с использованием сценариев, представленных в jbpm-installer/db/ddl-scripts/mysql. Все таблицы постоянства, кажется, там.

Я запускаю AS7 с. jboss/bin/standalone.sh --server-config=standalone-full.xml&

Эта установка не была успешной, и я думаю, что это (повторяющееся) исключение препятствует запуску моей консоли jbpm: 11:52:46,592 ERROR [org.hibernate.tool.hbm2ddl.SchemaUpdate] (MSC service thread 1-12) HHH000319: Could not get database metadata: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'sequences' in information_schema at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_60] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_60] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_60] at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [rt.jar:1.7.0_60] at com.mysql.jdbc.Util.handleNewInstance(Util.java:389) at com.mysql.jdbc.Util.getInstance(Util.java:372) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2531) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2489) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446) at org.jboss.jca.adapters.jdbc.WrappedStatement.executeQuery(WrappedStatement.java:340) at org.hibernate.tool.hbm2ddl.DatabaseMetadata.initSequences(DatabaseMetadata.java:149) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.tool.hbm2ddl.DatabaseMetadata.(DatabaseMetadata.java:70) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.tool.hbm2ddl.DatabaseMetadata.(DatabaseMetadata.java:63) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:196) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:178) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:457) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1737) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.ejb.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:84) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final] at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_60]

1 ответ

Решение

Ссылки, которые вы опубликовали, только помогают вам настроить источник данных, но вам также нужно изменить конфигурацию персистентности для режима гибернации с H2 на MySQL.

В официальной документации по jbpm есть раздел для этого: http://docs.jboss.org/jbpm/v6.2/userguide/jBPMInstaller.html

Другие вопросы по тегам