我刚刚安装了 Bonita 并尝试了一些入门示例(因此没有对常规配置进行任何更改)。我的问题是,每次我尝试编写任何业务变量的某些属性时,就像流程会停止一样。
我想出了这一点,因为如果我尝试在我的业务数据中设置一些默认值(通过在池变量面板中编辑它们)门户甚至不会启动,否则如果我使用服务任务通过操作设置属性而不是我将它连接到人工任务,流程启动但从未检测到人工任务(就像流程将停止到第一个任务一样)。
所以我想当我以任何方式为任何对象编写属性时都会出现问题(我已经仔细检查了由 VacationRequest 示例制作的对象)。我该如何解决?
编辑: 我正在发布日志数据,因为我尝试通过服务任务中的操作插入我的输入,而不是将这个任务连接到人类任务(从不在门户中显示)
这是工作室日志:
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:22.615
!MESSAGE Attempt to login as helen.kelly
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:22.644
!MESSAGE Login successful.
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:23.164
!MESSAGE Building bar for process Pool (1.0 )...
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:24.398
!MESSAGE Build complete for process Pool (1.0 ).
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:24.407
!MESSAGE Attempt to login as helen.kelly
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:24.431
!MESSAGE Login successful.
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.138
!MESSAGE Attempt to login as helen.kelly
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.162
!MESSAGE Login successful.
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.195
!MESSAGE Attempt to login as helen.kelly
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.219
!MESSAGE Login successful.
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.314
!MESSAGE Attempt to login as helen.kelly
!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.337
!MESSAGE Login successful.
这是引擎日志:
2015-12-11 16:19:22.686 +0100 org.bonitasoft.engine.api.impl.transaction.process.DisableProcess org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log
Informazioni: THREAD_ID=4392 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has disabled process <Pool> in version <1.0> with id <8793400777422165775>
2015-12-11 16:19:23.131 +0100 org.bonitasoft.engine.api.impl.ProcessManagementAPIImplDelegate org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log
Informazioni: THREAD_ID=66 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <walter.bates> has deleted process with id = <8793400777422165775>
2015-12-11 16:19:25.115 +0100 org.bonitasoft.engine.api.impl.ProcessAPIImpl org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log
Informazioni: THREAD_ID=4333 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has installed process <Pool> in version <1.0> with id <7896310222649598842>
2015-12-11 16:19:25.174 +0100 org.bonitasoft.engine.api.impl.transaction.process.EnableProcess org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log
Informazioni: THREAD_ID=4333 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has enabled process <Pool> in version <1.0> with id <7896310222649598842>
2015-12-11 16:19:25.282 +0100 org.bonitasoft.engine.api.impl.ProcessStarter org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log
Informazioni: THREAD_ID=4333 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has started the process instance <26> of process <Pool> in version <1.0> and id <7896310222649598842>
2015-12-11 16:19:25.343 +0100 org.hibernate.engine.jdbc.spi.SqlExceptionHelper org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 23502, SQLState: 23502
2015-12-11 16:19:25.344 +0100 org.hibernate.engine.jdbc.spi.SqlExceptionHelper org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: NULL not allowed for column "DATAINGRESSOUE"; SQL statement:
insert into CITIZEN (persistenceId, DATAINGRESSOUE, DATAUSCITAUE, FINEVALIDITAVISTO, FINGERPRINT, GIORNISPESI, INIZIOVALIDITAVISTO, NAME, RPT, SURNAME, persistenceVersion) values (null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [23502-170]
2015-12-11 16:19:25.349 +0100 org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log
Grave: THREAD_ID=5005 | HOSTNAME=Light-PC | TENANT_ID=1 | The work [ExecuteFlowNodeWork: processInstanceId:26, flowNodeInstanceId: 44] failed. The failure will be handled.
2015-12-11 16:19:25.356 +0100 org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log
Grave: THREAD_ID=5005 | HOSTNAME=Light-PC | TENANT_ID=1 | javax.persistence.PersistenceException : "org.hibernate.exception.ConstraintViolationException: could not execute statement"
javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316)
at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:898)
at org.bonitasoft.engine.business.data.impl.JPABusinessDataRepositoryImpl.merge(JPABusinessDataRepositoryImpl.java:259)
at org.bonitasoft.engine.operation.MergeEntityAction.execute(MergeEntityAction.java:41)
at org.bonitasoft.engine.operation.EntitiesActionsExecutor.executeAction(EntitiesActionsExecutor.java:42)
at org.bonitasoft.engine.operation.BusinessDataJavaMethodOperationExecutorStrategy.delegateBusinessValueForLeftOperand(BusinessDataJavaMethodOperationExecutorStrategy.java:64)
at org.bonitasoft.engine.operation.BusinessDataJavaMethodOperationExecutorStrategy.computeNewValueForLeftOperand(BusinessDataJavaMethodOperationExecutorStrategy.java:46)
at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.calculateRightOperandValue(OperationServiceImpl.java:122)
at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.executeOperators(OperationServiceImpl.java:105)
at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.execute(OperationServiceImpl.java:94)
at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.execute(OperationServiceImpl.java:81)
at org.bonitasoft.engine.execution.StateBehaviors.executeOperations(StateBehaviors.java:657)
at org.bonitasoft.engine.execution.state.ExecutingAutomaticActivityStateImpl.onEnterToOnFinish(ExecutingAutomaticActivityStateImpl.java:48)
at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:73)
at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:35)
at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeState(FlowNodeExecutorImpl.java:128)
at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.updateState(FlowNodeExecutorImpl.java:180)
at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.stepForward(FlowNodeExecutorImpl.java:164)
at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeFlowNode(FlowNodeExecutorImpl.java:315)
at org.bonitasoft.engine.execution.work.ExecuteFlowNodeWork.work(ExecuteFlowNodeWork.java:72)
at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:48)
at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:44)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:316)
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 org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47)
at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:129)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:189)
at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:96)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:58)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2987)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3499)
at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:395)
at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:229)
at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:209)
at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:193)
at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:321)
at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:286)
at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:125)
at org.hibernate.ejb.event.EJB3MergeEventListener.saveWithGeneratedId(EJB3MergeEventListener.java:71)
at org.hibernate.event.internal.DefaultMergeEventListener.saveTransientEntity(DefaultMergeEventListener.java:236)
at org.hibernate.event.internal.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:216)
at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:154)
at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:76)
at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:833)
at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:817)
at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:821)
at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:889)
... 33 more
Caused by: org.h2.jdbc.JdbcSQLException: NULL not allowed for column "DATAINGRESSOUE"; SQL statement:
insert into CITIZEN (persistenceId, DATAINGRESSOUE, DATAUSCITAUE, FINEVALIDITAVISTO, FINGERPRINT, GIORNISPESI, INIZIOVALIDITAVISTO, NAME, RPT, SURNAME, persistenceVersion) values (null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [23502-170]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
at org.h2.message.DbException.get(DbException.java:146)
at org.h2.table.Column.validateConvertUpdateSequence(Column.java:293)
at org.h2.table.Table.validateConvertUpdateSequence(Table.java:689)
at org.h2.command.dml.Insert.insertRows(Insert.java:120)
at org.h2.command.dml.Insert.update(Insert.java:84)
at org.h2.command.CommandContainer.update(CommandContainer.java:75)
at org.h2.command.Command.executeUpdate(Command.java:230)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:333)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:149)
at java.lang.Thread.run(Thread.java:744)
at org.h2.engine.SessionRemote.done(SessionRemote.java:568)
at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:181)
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:156)
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:142)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:64)
at com.sun.proxy.$Proxy142.executeUpdate(Unknown Source)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:186)
... 55 more