2 Replies Latest reply on Feb 17, 2011 3:25 AM by leevoth

    Task activity failure to save history data of the task

    leevoth

      Hi,

       

      We have problems with task execution in our SEAM-SPRING-JBPM+JBOSS hybrid enviroment. It fails to save history task due transaction failures. The exception looks like:

       

      2011-02-15 15:13:05,792 WARN  [org.hibernate.util.JDBCExceptionReporter] (WorkManager(2)-5) SQL Error: 0, SQLState: null

      2011-02-15 15:13:05,792 ERROR [org.hibernate.util.JDBCExceptionReporter] (WorkManager(2)-5) Transaction is not active: tx=TransactionImple < ac, BasicAction: 7f000001:beaa:4d5a79d2:163e status: ActionStatus.ABORT_ONLY >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: 7f000001:beaa:4d5a79d2:163e status: ActionStatus.ABORT_ONLY >)

      2011-02-15 15:13:05,797 WARN  [org.hibernate.util.JDBCExceptionReporter] (WorkManager(2)-5) SQL Error: 0, SQLState: null

      2011-02-15 15:13:05,797 ERROR [org.hibernate.util.JDBCExceptionReporter] (WorkManager(2)-5) Transaction is not active: tx=TransactionImple < ac, BasicAction: 7f000001:beaa:4d5a79d2:163e status: ActionStatus.ABORT_ONLY >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: 7f000001:beaa:4d5a79d2:163e status: ActionStatus.ABORT_ONLY >)

       

      I have exact place where it fails in JBPM core:

       

      TaskActivity.execute(ExecutionImpl execution) --> HistoryEvent.fire(new TaskActivityStart(task), execution) --> TaskActivityStart.process() -->  dbSession.save(historyActivityInstance)

       

      We use most common approach to reach JBPM functionality in Seam. We inject processEngine spring bean in seam enviroment:

      • Spring configuration:

      <?xml version="1.0" encoding="UTF-8"?>

      <beans xmlns="http://www.springframework.org/schema/beans"

             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

             xmlns:seam="http://jboss.com/products/seam/spring-seam"

             xmlns:tx="http://www.springframework.org/schema/tx"

             xmlns:context="http://www.springframework.org/schema/context"

             xmlns:jee="http://www.springframework.org/schema/jee"

             xmlns:aop="http://www.springframework.org/schema/aop"

             xmlns:oxm="http://www.springframework.org/schema/oxm"

       

             xsi:schemaLocation="http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

             http://jboss.com/products/seam/spring-seam http://jboss.com/products/seam/spring-seam-2.2.xsd

             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd

             http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd

             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

             http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd">

           <!-- jBPM beans. --> 

          <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"/>

          <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine"/>

      </beans>     

      • In Seam side we start process instance:

       

          private Object _start(String key, String id, Map<String, Object> data){

              if ( StringUtils.isEmpty(key) || StringUtils.isEmpty(id) ){

                  return Boolean.FALSE;

              }

              //return execution service

              ExecutionService execService = _getExecutionService();

              //

              if ( execService == null ){

                  return Boolean.FALSE;

              }

              try {

                  //prepare data for jBPM start the process

                  Map<String,Object> _variables = new HashMap<String, Object>(0);

                  _variables.put("current", data);

                  //start the new process

                  execService.startProcessInstanceByKey(key, _variables, id);

                  return Boolean.TRUE;

              } catch (Exception e) {

                  logger.error("[OperationManagerImpl:_start] errors:", e);

              }

              return Boolean.FALSE;

          }

       

      Notice. All data placed in parameter "data" are implementing Serializable interface. So, we don't have any problems with variable serialisaztion inside JBPM core.

      • Whole application use spring style transaction manager (SEAM and JBPM).

      Spring configuration:

      <?xml version="1.0" encoding="UTF-8"?>

      <beans xmlns="http://www.springframework.org/schema/beans"

             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

             xmlns:seam="http://jboss.com/products/seam/spring-seam"

             xmlns:tx="http://www.springframework.org/schema/tx"

             xmlns:context="http://www.springframework.org/schema/context"

             xmlns:jee="http://www.springframework.org/schema/jee"

             xmlns:aop="http://www.springframework.org/schema/aop"

             xmlns:oxm="http://www.springframework.org/schema/oxm"

       

             xsi:schemaLocation="http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

             http://jboss.com/products/seam/spring-seam http://jboss.com/products/seam/spring-seam-2.2.xsd

             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd

             http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd

             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

             http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd">

           <!-- JTA transaction manager to be used by everyone! --> 

           <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> 

               <property name="transactionManagerName" value="java:/TransactionManager" /> 

               <property name="userTransactionName" value="UserTransaction" /> 

           </bean> 

      </beans>

      Seam configuration:

      <components xmlns="http://jboss.com/products/seam/components"

                  xmlns:excel="http://jboss.com/products/seam/excel"

                  xmlns:core="http://jboss.com/products/seam/core"

                  xmlns:framework="http://jboss.com/products/seam/framework"

                  xmlns:security="http://jboss.com/products/seam/security"

                  xmlns:document="http://jboss.com/products/seam/document"

                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                  xmlns:cache="http://jboss.com/products/seam/cache"

                  xmlns:international="http://jboss.com/products/seam/international"

                  xmlns:async="http://jboss.com/products/seam/async"

                  xmlns:web="http://jboss.com/products/seam/web"

                  xmlns:persistence="http://jboss.com/products/seam/persistence"

                  xmlns:drools="http://jboss.com/products/seam/drools"

                  xmlns:spring="http://jboss.com/products/seam/spring"

                  xmlns:transaction="http://jboss.com/products/seam/transaction"

                  xmlns:bpm="http://jboss.com/products/seam/jbpm4"

                  xmlns:jms="http://jboss.com/products/seam/jms"

       

                  xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd

                             http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.2.xsd

                             http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.2.xsd

                             http://jboss.com/products/seam/document http://jboss.com/products/seam/document-2.2.xsd

                             http://jboss.com/products/seam/excel http://jboss.com/products/seam/excel-2.2.xsd  

                             http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd

                             http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd

                             http://jboss.com/products/seam/international http://jboss.com/products/seam/international-2.2.xsd

                             http://jboss.com/products/seam/cache http://jboss.com/products/seam/cache-2.2.xsd

                             http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.2.xsd

                             http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd

                             http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd

                             http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd

                             http://jboss.com/products/seam/spring http://jboss.com/products/seam/spring-2.2.xsd

                             http://jboss.com/products/seam/jms http://jboss.com/products/seam/jms-2.2.xsd">

          <!-- Transaction managment -->

          <spring:spring-transaction platform-transaction-manager="#{transactionManager}" join-transaction="true"/>

      </components>

      • XA datasource type is used.
      • Some debug trace from JBPM:

      2011.02.15 09:34:19 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.ProcessDefinitionImpl - creating new execution for process 'ImportProcess_CompleteImport_empty_empty'

      2011.02.15 09:34:19 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.id.DatabaseIdComposer - generated execution id ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2

      2011.02.15 09:34:19 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.ScopeInstanceImpl - create variable 'current' in 'execution[ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2]' with value '{instanceId=28712413-2e7e-4b25-897a-21af24bc30f2, target=G, body=eu.erp.uais.model.operationData.stateengine.PerformOpData@36046e56, pid=ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2, principal=eu.erp.uais.domain.entities.LoggedUser@3f63dff5, executor=ImportProcess_CompleteImport_empty_empty}'

      2011.02.15 09:34:20 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(1611600004)

      2011.02.15 09:34:20 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(operation.start)

      2011.02.15 09:34:20 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.el.JbpmElFactoryImpl - no cdi bean manager available in jndi

      2011.02.15 09:34:20 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.el.JbpmElFactoryImpl - no cdi bean manager available in jndi

      2011.02.15 09:34:21 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.ScopeInstanceImpl - create variable 'return_start' in 'execution[ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2]' with value 'ok'

      2011.02.15 09:34:22 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(operation.requestRiskCaseInfo)

      2011.02.15 09:34:22 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.el.JbpmElFactoryImpl - no cdi bean manager available in jndi

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.ScopeInstanceImpl - create variable 'return_requestRiskCaseInfo' in 'execution[ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2]' with value 'ok'

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(decision.requestRiskCaseInfo)

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(operation.create99TJ)

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.el.JbpmElFactoryImpl - no cdi bean manager available in jndi

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.ScopeInstanceImpl - create variable 'return_create99TJ' in 'execution[ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2]' with value 'ok'

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(decision.processCreate99TJ)

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(operation.validate99TJ)

      2011.02.15 09:34:25 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.el.JbpmElFactoryImpl - no cdi bean manager available in jndi

      2011.02.15 09:34:49 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.ScopeInstanceImpl - create variable 'return_validate99TJ' in 'execution[ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2]' with value 'ok'

      2011.02.15 09:34:49 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(decision.validate99TJ)

      2011.02.15 09:34:49 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(operation.sendToTaxControl)

      2011.02.15 09:34:49 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.el.JbpmElFactoryImpl - no cdi bean manager available in jndi

      2011.02.15 09:34:57 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.ScopeInstanceImpl - create variable 'return_sendToTaxControl' in 'execution[ImportProcess_CompleteImport_empty_empty.28712413-2e7e-4b25-897a-21af24bc30f2]' with value 'ok'

      2011.02.15 09:34:57 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(decision.sendToTaxControl)

      2011.02.15 09:34:57 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.el.JbpmElFactoryImpl - no cdi bean manager available in jndi

      2011.02.15 09:34:57 DEBUG WorkManager(2)-94 org.jbpm.pvm.internal.model.op.ExecuteActivity - executing activity(state.resume)

      2011.02.15 09:34:57 INFO WorkManager(2)-94 org.jbpm.pvm.internal.svc.DefaultCommandService - exception while executing command org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd@d3d1c5d

      org.hibernate.exception.GenericJDBCException: Cannot open connection

          at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)

          at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)

          at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

          at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)

          at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)

          at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)

          at org.hibernate.jdbc.AbstractBatcher.prepareSelectStatement(AbstractBatcher.java:145)

          at org.hibernate.persister.entity.AbstractEntityPersister.getDatabaseSnapshot(AbstractEntityPersister.java:1044)

          at org.hibernate.engine.StatefulPersistenceContext.getDatabaseSnapshot(StatefulPersistenceContext.java:269)

          at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:212)

          at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:535)

          at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:103)

          at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)

          at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)

          at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)

          at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)

          at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)

          at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)

          at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)

          at org.hibernate.engine.Cascade.cascade(Cascade.java:153)

          at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:454)

          at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:288)

          at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)

          at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)

          at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)

          at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)

          at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)

          at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)

          at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)

          at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)

          at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)

          at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)

          at org.jbpm.pvm.internal.hibernate.DbSessionImpl.save(DbSessionImpl.java:89)

          at org.jbpm.pvm.internal.history.events.TaskActivityStart.process(TaskActivityStart.java:67)

          at org.jbpm.pvm.internal.history.HistorySessionImpl.process(HistorySessionImpl.java:31)

          at org.jbpm.pvm.internal.history.HistoryEvent.fire(HistoryEvent.java:67)

          at org.jbpm.jpdl.internal.activity.TaskActivity.execute(TaskActivity.java:109)

          at org.jbpm.jpdl.internal.activity.TaskActivity.execute(TaskActivity.java:58)

          at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)

          at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672)

          at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:632)

          at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:217)

          at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:63)

          at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:36)

          at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)

          at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)

          at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)

          at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)

          at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)

          at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)

          at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)

          at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:79)

          at eu.erp.uais.domain.impl.services.operation.OperationManagerImpl._start(OperationManagerImpl.java:213)

          at eu.erp.uais.domain.impl.services.operation.OperationManagerImpl.startInstance(OperationManagerImpl.java:192)

          at eu.erp.uais.domain.impl.services.operation.OperationManagerImpl.applay(OperationManagerImpl.java:113)

          at sun.reflect.GeneratedMethodAccessor5581.invoke(Unknown Source)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

          at java.lang.reflect.Method.invoke(Method.java:597)

          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)

          at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)

          at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)

          at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)

          at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)

          at eu.erp.uais.domain.impl.services.operation.OperationManagerImpl_$$_javassist_seam_18.applay(OperationManagerImpl_$$_javassist_seam_18.java)

          at eu.erp.uais.domain.impl.services.operation.OperationEngineServiceImpl.start(OperationEngineServiceImpl.java:82)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

          at java.lang.reflect.Method.invoke(Method.java:597)

          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)

          at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)

          at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)

          at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)

          at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)

          at eu.erp.uais.domain.impl.services.operation.OperationEngineServiceImpl_$$_javassist_seam_17.start(OperationEngineServiceImpl_$$_javassist_seam_17.java)

          at eu.erp.uais.domain.impl.services.stateengine.actions.StateAction.execute(StateAction.java:102)

          at org.apache.commons.scxml.semantics.SCXMLSemanticsImpl.executeActions(SCXMLSemanticsImpl.java:218)

          at org.apache.commons.scxml.SCXMLExecutor.triggerEvents(SCXMLExecutor.java:131)

          at eu.erp.uais.domain.impl.services.stateengine.charts.AbstractStateChartAPI._fireEvent(AbstractStateChartAPI.java:236)

          at eu.erp.uais.domain.impl.services.stateengine.charts.AbstractStateChartAPI.fireEvent(AbstractStateChartAPI.java:219)

          at eu.erp.uais.domain.impl.services.stateengine.StateEngineManagerImpl.performOperation(StateEngineManagerImpl.java:146)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

          at java.lang.reflect.Method.invoke(Method.java:597)

          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)

          at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)

          at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)

          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

          at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)

          at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)

       

      Any ideas how to "erase" these exceptions from application?

       

      Best regards,

      A. Janeliunas

       

      Details:

      Spring version 3.0.2

      Seam version 2.2.1CR1

      JBPM 4.4

       

      JBOSS 5.1.0GA

        • 1. Task activity failure to save history data of the task
          jpiel

          Maybe you should expand your spring-configuration. I'm not an expert in this issue but I think there must be beans configured in a way like this:

           

               <bean id="sessionFactory"
                    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

                    <property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" />
                    <property name="dataSource" ref="dataSource" />
               </bean>

               <bean id="transactionManager"
                    class="org.springframework.orm.hibernate3.HibernateTransactionManager">

                    <property name="sessionFactory" ref="sessionFactory" />
                    <property name="dataSource" ref="dataSource" />
               </bean>

               <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
                    destroy-method="close">

                    <property name="driverClassName" value="YourDriver" />
                    <property name="url" value="someUrl" />
                    <property name="username" value="user" />
                    <property name="password" value="password" />
               </bean>

           

          But I don't use JBPM with Spring so I'm not confident at all.

          • 2. Task activity failure to save history data of the task
            leevoth

            I have sessionFactory and dataSource configurations in my application. In fact, the other process instances with task tags are working correctly expect this one.