Unable to insert new process definitions.
mihochan Jan 23, 2007 6:55 PMI am trying to insert process definitions into a MySQL database from a stand-alone application.
The process definitions are good as they install from JBoss. The problem seems to be with the persistence configuration but I can't see what is going wrong.
I can also contact the database to retrieve process definitions.
org.jbpm.JbpmException: problem closing services {persistence=org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session} [java] at org.jbpm.svc.Services.close(Services.java:223) [java] at org.jbpm.JbpmContext.close(JbpmContext.java:139) .... Caused by: org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session [java] at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:172) [java] at org.jbpm.svc.Services.close(Services.java:211) [java] ... 22 more [java] Caused by: org.hibernate.exception.DataException: could not insert: [org.jbpm.graph.node.StartState] [java] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:77) [java] ... Caused by: java.sql.SQLException: Data too long for column 'ISASYNC_' at row 1 [java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2847) [java] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531) [java] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1622) [java] at com.mysql.jdbc.Connection.execSQL(Connection.java:2376) [java] at com.mysql.jdbc.Connection.execSQL(Connection.java:2297) [java] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1860) [java] at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1957) [java] at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1880) [java] at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1741) [java] at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73) [java] at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33) [java] ... 53 more
The jbpm.cfg.xml file;
<jbpm-configuration> <jbpm-context> <service name='persistence' factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' /> </jbpm-context> <string name="resource.hibernate.cfg.xml" value="jbpm-hibernate.xml" /> </jbpm-configuration>
and the referenced hibernate config file;
<hibernate-configuration> <session-factory> <!-- jdbc connection properties --> <property name="hibernate.cache.use_second_level_cache">false</property> <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> <!-- connection settings for stand-alone application --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/jbpmtest</property> <property name="hibernate.connection.username">jbpmuser</property> <property name="hibernate.connection.password">password</property> <property name="hibernate.connection.pool_size">3</property> <!-- other hibernate properties --> <property name="hibernate.show_sql">false</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.use_sql_comments">true</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property>
Any help would be greatly appreciated. Thanks