Cómo manejar error de hibernate en version 7.5.4

1
0
-1

Realizamos migración de procesos que funcionaban correctamente en la version 7.2.2 a la versión 7.5.4 encontrando en la ejecución de las tareas el siguiente error:

Estos procesos funcionan correctamente en la versión 7.2.2

2017-08-23 16:24:47.565 -0500 GRAVE: org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork THREAD_ID=182 | HOSTNAME=Alba-HP | TENANT_ID=1 | org.bonitasoft.engine.transaction.STransactionCommitException : "PROCESS_DEFINITION_ID=8657254465982473919 | PROCESS_NAME=REGISTRO COMERCIAL DE AGROQUÍMICOS | PROCESS_VERSION=0.09 | PROCESS_INSTANCE_ID=13003 | ROOT_PROCESS_INSTANCE_ID=13003 | FLOW_NODE_DEFINITION_ID=7925840171526045922 | FLOW_NODE_INSTANCE_ID=280239 | FLOW_NODE_NAME=Elaboración Certificado de Registro | bitronix.tm.internal.BitronixRollbackException: RuntimeException thrown during beforeCompletion cycle caused transaction rollback"
org.bonitasoft.engine.transaction.STransactionCommitException: PROCESS_DEFINITION_ID=8657254465982473919 | PROCESS_NAME=REGISTRO COMERCIAL DE AGROQUÍMICOS | PROCESS_VERSION=0.09 | PROCESS_INSTANCE_ID=13003 | ROOT_PROCESS_INSTANCE_ID=13003 | FLOW_NODE_DEFINITION_ID=7925840171526045922 | FLOW_NODE_INSTANCE_ID=280239 | FLOW_NODE_NAME=Elaboración Certificado de Registro | bitronix.tm.internal.BitronixRollbackException: RuntimeException thrown during beforeCompletion cycle caused transaction rollback
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.complete(JTATransactionServiceImpl.java:180)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:284)
at org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:53)
at org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:79)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66)
at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: bitronix.tm.internal.BitronixRollbackException: RuntimeException thrown during beforeCompletion cycle caused transaction rollback
at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:241)
at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:143)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.complete(JTATransactionServiceImpl.java:176)
... 11 more
Caused by: javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value : es.mida.bonita.model.CertifiRegComercialSVSRRCA01.auActivo
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1882)
at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:119)
at org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:50)
at bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:532)
at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:235)
... 13 more
Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value : es.mida.bonita.model.CertifiRegComercialSVSRRCA01.auActivo
at org.hibernate.engine.internal.Nullability.checkNullability(Nullability.java:106)
at org.hibernate.action.internal.AbstractEntityInsertAction.nullifyTransientReferencesIfNotAlready(AbstractEntityInsertAction.java:132)
at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:86)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:492)
at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:197)
at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:181)
at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:216)
at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:334)
at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:289)
at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:195)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)
at org.hibernate.jpa.event.internal.core.JpaPersistEventListener.saveWithGeneratedId(JpaPersistEventListener.java:84)
at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:206)
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:149)
at org.hibernate.internal.SessionImpl.firePersistOnFlush(SessionImpl.java:838)
at org.hibernate.internal.SessionImpl.persistOnFlush(SessionImpl.java:831)
at org.hibernate.engine.spi.CascadingActions$8.cascade(CascadingActions.java:357)
at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:350)
at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:293)
at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:161)
at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:118)
at org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:167)
at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:158)
at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:91)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:55)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)
at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:114)
... 16 more

3 answers

1
0
-1

¿Que base de datos utilizáis? tuve un problema similar al pasar de la v. 7.2.1 a la 7.5.4 y fue porque se me olvidó cambiar una configuración de PostgresSQL

*Customize RDBMS to make it work with Bonita BPM

PostgreSQL

Configure the database to use UTF-8.

Edit postgresql.conf and set a non-zero value for max_prepared_transactions. The default value, 0, disables prepared transactions, which is not compatible with Bonita BPM Engine.
The value should be at least as large as the value set for max_connections (default is typically 100).*

https://documentation.bonitasoft.com/?page=database-configuration

1
0
-1

Sorry to answer in English.

Issue seems to be related to your Business Data Model: the CertifiRegComercialSVSRRCA01 have an attribute auActivo that is defined to be not null and it seems that you are trying to save such object with a null value for the auActivo attribute.

I recommend you verify that in the "Elaboración Certificado de Registro" task you properly set the auActivo attribute and also maybe verify that contract value is not empty (if the attribute is set using contract information).

1
-1
-1

Hi, I have a question thant i hope you tell me ..
i use bonita bpm in my application j2ee. Now,i work with bonita 5.5.2 i use this in my pom.xml :
org.ow2.bonita
bonita-server
5.5.2

this dependency work with hibernate 3.5.6 and i have to migrate to other version of hibernate like hiebrnate 4.2.11:
Impact: bonita don't work
So, i have to change this dependency of bonita(wich work with hibernate 4) , i use this dependency

org.bonitasoft.engine
bonita-server
6.4.1

the question is that how can migrate or it has any way to change the classe wich take care about service bonita becasue the artifact is changed and the import are not known.

Comments

Submitted by antoine.mottier on Tue, 05/22/2018 - 10:14

It seems your question is not exactly the same as the one discuss in this topic. So I would recommend to post a new question instead of adding an answer to this topic.

Notifications