]
Michael Anstis moved GUVNOR-2567 to DROOLS-1214:
------------------------------------------------
Project: Drools (was: Guvnor)
Key: DROOLS-1214 (was: GUVNOR-2567)
Issue Type: Bug (was: Feature Request)
Workflow: GIT Pull Request workflow (was: classic default workflow)
Affects Version/s: (was: drools_6.4.0.Final)
Fix Version/s: (was: drools_6.4.0.Final)
SEVERE: TransactionSynchronization.beforeCompletion threw exception
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException:
could not update: [org.drools.persistence.info.SessionInfo#1]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: DROOLS-1214
URL:
https://issues.jboss.org/browse/DROOLS-1214
Project: Drools
Issue Type: Bug
Reporter: Chitta Khatua
This is the complete Error :
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException:
could not update: [org.drools.persistence.info.SessionInfo#1]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
Caused by: org.hibernate.exception.GenericJDBCException: could not update:
[org.drools.persistence.info.SessionInfo#1]
at
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
at
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3237)
Caused by: org.postgresql.util.PSQLException: Large Objects may not be used in
auto-commit mode.
at org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:308)
at org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:296)
java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
at
org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:185)
at
org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:70)
at
org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:39)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
Caused by: java.lang.RuntimeException: Could not commit session or rollback
at
org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:405)
at
org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:389)
Caused by: java.lang.RuntimeException: Unable to rollback transaction
at
org.kie.spring.persistence.KieSpringTransactionManager.rollback(KieSpringTransactionManager.java:90)
Caused by: org.springframework.transaction.IllegalTransactionStateException: Transaction
is already completed - do not call commit or rollback more than once per transaction
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:825)
at
org.kie.spring.persistence.KieSpringTransactionManager.rollback(KieSpringTransactionManager.java:84)
------------------------------------------------------------------------------------------
jbpm-manager.xml
-----------------------
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean id="jbpmEMF"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName"
value="org.jbpm.persistence.spring.jta"/>
<!-- property name="persistenceUnitName"
value="org.jbpm.persistence.jpa"/>-->
<property name="persistenceXmlLocation"
value="classpath:jbpm/persistence-jta.xml"/>
<!-- property name="dataSource" ref="jbpmDS" />-->
</bean>
<!-- bean id="jbpmDS"
class="bitronix.tm.resource.jdbc.PoolingDataSource" init-method="init"
destroy-method="close">
<property name="className"
value="org.postgresql.xa.PGXADataSource" />
<property name="uniqueName" value="jbpmDS" />
<property name="minPoolSize" value="0" />
<property name="maxPoolSize" value="20" />
<property name="allowLocalTransactions" value="true"
/>
<property name="testQuery" value="SELECT 1 FROM DUAL"
/>-->
<!--property name="ignoreRecoveryFailures" value="true"
/-->
<!--property name="driverProperties">
<props>
<prop key="serverName">localhost</prop>
<prop key="databaseName">noesis</prop>
<prop key="user">postgres</prop>
<prop key="password">postgres</prop>
</props>
</property>
</bean>-->
<bean id="btmConfig" factory-method="getConfiguration"
class="bitronix.tm.TransactionManagerServices"></bean>
<bean id="BitronixTransactionManager"
factory-method="getTransactionManager"
class="bitronix.tm.TransactionManagerServices"
depends-on="btmConfig" destroy-method="shutdown" />
<bean id="jbpmTxManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager"
ref="BitronixTransactionManager" />
<property name="userTransaction"
ref="BitronixTransactionManager" />
</bean>
<bean id="process" factory-method="newClassPathResource"
class="org.kie.internal.io.ResourceFactory">
<constructor-arg>
<value>test.bpmn</value>
</constructor-arg>
</bean>
<bean id="runtimeEnvironment"
class="org.kie.spring.factorybeans.RuntimeEnvironmentFactoryBean">
<property name="type" value="DEFAULT"/>
<property name="entityManagerFactory" ref="jbpmEMF"/>
<property name="transactionManager" ref="jbpmTxManager"/>
<property name="assets">
<map>
<entry key-ref="process"><util:constant
static-field="org.kie.api.io.ResourceType.BPMN2"/></entry>
</map>
</property>
</bean>
<bean id="runtimeManager"
class="org.kie.spring.factorybeans.RuntimeManagerFactoryBean"
destroy-method="close">
<property name="identifier" value="spring-rm"/>
<property name="runtimeEnvironment"
ref="runtimeEnvironment"/>
</bean>
</beans>
------------------------------------------------------------------------
kmodule.xml
---------------------
<kmodule
xmlns="http://jboss.org/kie/6.0.0/kmodule">
<kbase name="kbase" packages="org.jbpm.demo" />
</kmodule>
-------------------------------------------------------------------------------
persistence-jta.xml
-----------------------
<?xml version="1.0" encoding="UTF-8"?>
<persistence
version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<!-- spring with jta -->
<persistence-unit name="org.jbpm.persistence.spring.jta"
transaction-type="JTA">
<!-- persistence-unit name="org.jbpm.persistence.jpa"
transaction-type="JTA">-->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- jta-data-source>java:comp/env/jdbc/jbpm-ds</jta-data-source>-->
<!--<mapping-file>META-INF/JBPMorm.xml</mapping-file>-->
<mapping-file>META-INF/Taskorm.xml</mapping-file>
<mapping-file>META-INF/TaskAuditorm.xml</mapping-file>
<class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>
<class>org.drools.persistence.info.SessionInfo</class>
<class>org.drools.persistence.info.WorkItemInfo</class>
<class>org.jbpm.process.audit.ProcessInstanceLog</class>
<class>org.jbpm.process.audit.NodeInstanceLog</class>
<class>org.jbpm.process.audit.VariableInstanceLog</class>
<class>org.jbpm.persistence.correlation.CorrelationKeyInfo</class>
<class>org.jbpm.persistence.correlation.CorrelationPropertyInfo</class>
<!-- manager -->
<class>org.jbpm.runtime.manager.impl.jpa.ContextMappingInfo</class>
<class>org.jbpm.services.task.impl.model.AttachmentImpl</class>
<class>org.jbpm.services.task.impl.model.ContentImpl</class>
<class>org.jbpm.services.task.impl.model.BooleanExpressionImpl</class>
<class>org.jbpm.services.task.impl.model.CommentImpl</class>
<class>org.jbpm.services.task.impl.model.DeadlineImpl</class>
<class>org.jbpm.services.task.impl.model.CommentImpl</class>
<class>org.jbpm.services.task.impl.model.DeadlineImpl</class>
<class>org.jbpm.services.task.impl.model.DelegationImpl</class>
<class>org.jbpm.services.task.impl.model.EscalationImpl</class>
<class>org.jbpm.services.task.impl.model.GroupImpl</class>
<class>org.jbpm.services.task.impl.model.I18NTextImpl</class>
<class>org.jbpm.services.task.impl.model.NotificationImpl</class>
<class>org.jbpm.services.task.impl.model.EmailNotificationImpl</class>
<class>org.jbpm.services.task.impl.model.EmailNotificationHeaderImpl</class>
<class>org.jbpm.services.task.impl.model.PeopleAssignmentsImpl</class>
<class>org.jbpm.services.task.impl.model.ReassignmentImpl</class>
<class>org.jbpm.services.task.impl.model.TaskImpl</class>
<class>org.jbpm.services.task.impl.model.TaskDataImpl</class>
<class>org.jbpm.services.task.impl.model.UserImpl</class>
<!--BAM for task service -->
<class>org.jbpm.services.task.audit.impl.model.BAMTaskSummaryImpl</class>
<class>org.jbpm.services.task.audit.impl.model.TaskEventImpl</class>
<!-- Task Audit Classes -->
<class>org.jbpm.services.task.audit.impl.model.AuditTaskImpl</class>
<class>org.jbpm.services.task.audit.impl.model.TaskVariableImpl</class>
<properties>
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.hbm2ddl.auto" value="create"
/>
<property name="hibernate.show_sql" value="true" />
<!-- property name="hibernate.dialect"
value="org.hibernate.dialect.H2Dialect"/-->
<property name="hibernate.dialect"
value="org.hibernate.dialect.PostgreSQL82Dialect"/>
<property name="hibernate.connection.driver_class"
value="org.postgresql.Driver"/>
<property name="hibernate.connection.username"
value="postgres"/>
<property name="hibernate.connection.password"
value="postgres"/>
<property name="hibernate.connection.url"
value="jdbc:postgresql://localhost:5432/noesis"/>
<!-- BZ 841786: AS7/EAP 6/Hib 4 uses new (sequence) generators which seem to
cause problems -->
<property name="hibernate.id.new_generator_mappings"
value="false" />
<property name="hibernate.transaction.jta.platform"
value="org.hibernate.service.jta.platform.internal.BitronixJtaPlatform" />
</properties>
</persistence-unit>
</persistence>