AnsweredAssumed Answered

Really simple timer start event throwing exception

Question asked by ct1 on May 7, 2012
Latest reply on May 18, 2012 by ct1
Sirs:

I am working with Activiti 5.9 on a Windows 7 OS.

My use case is to have a process start at 8:00 a.m. each day.  I wrote a very simple process with a Timer Start Event coded to start the process one time at the specified time (I am not trying to have the process start on a recurring basis yet, just start once). 

I deployed the process using Activiti Explorer.  The tomcat log shows the deployment. 

When the time arrives, I see the exception shown below. 

The log seems to show a second deployment of all (both) of my processes after the exception. 

The process does seem to start because I see output from the script task that follows the Timer Start Event. 

My questions are:

1.  Is this behavior I should expect?  By that, I mean, should I expect an exception to be thrown when I use a timer start event to start a process?

2.  Does a second deployment of all my processes really happen (maybe I am just misreading the log)?  What if I have two or three hundred processes defined?

Thank you.


The bpmn20.xml file:


<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:activiti="http://activiti.org/bpmn"
   xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
   xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
   xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
   typeLanguage="http://www.w3.org/2001/XMLSchema"
   expressionLanguage="http://www.w3.org/1999/XPath"
   targetNamespace="http://www.activiti.org/test">
  <process id="timeStartProc01" name="Timer Start Proc 01">
    <startEvent id="timerProc01Start" name="Timer Proc01 Start ">
      <timerEventDefinition>
        <timeDate>2012-05-07T15:15:00</timeDate>
      </timerEventDefinition>
    </startEvent>
    <scriptTask id="scripttask1" name="Script Task" scriptFormat="groovy">
      <script><![CDATA[Date timerStarted = new Date();
String timerStartedStr = timerStarted.format('yyyy/MM/dd HH:mm:ss SSS');
print "Timer-Start-Proc 01 logged at $timerStartedStr \n";]]></script>
    </scriptTask>
    <endEvent id="timerStartProc01End" name="tTmer Start Proc01 End"></endEvent>
    <sequenceFlow id="flow1" name="" sourceRef="timerProc01Start" targetRef="scripttask1"></sequenceFlow>
    <sequenceFlow id="flow2" name="" sourceRef="scripttask1" targetRef="timerStartProc01End"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_timeStartProc01">
    <bpmndi:BPMNPlane bpmnElement="timeStartProc01" id="BPMNPlane_timeStartProc01">
      <bpmndi:BPMNShape bpmnElement="timerProc01Start" id="BPMNShape_timerProc01Start">
        <omgdc:Bounds height="35" width="35" x="110" y="230"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask1" id="BPMNShape_scripttask1">
        <omgdc:Bounds height="55" width="105" x="220" y="220"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="timerStartProc01End" id="BPMNShape_timerStartProc01End">
        <omgdc:Bounds height="35" width="35" x="390" y="230"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="145" y="247"></omgdi:waypoint>
        <omgdi:waypoint x="220" y="247"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="325" y="247"></omgdi:waypoint>
        <omgdi:waypoint x="390" y="247"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>


The exception:

    May 7, 2012 3:12:39 PM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy                         <—— Initial deployment
    INFO: Processing resource WF-Proc-1.bpmn20.xml
    May 7, 2012 3:12:39 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XMLSchema currently not supported as typeLanguage
    May 7, 2012 3:12:39 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XPath currently not supported as expressionLanguage
    May 7, 2012 3:12:39 PM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
    INFO: Processing resource Timer-Start-Proc01.bpmn20.xml
    May 7, 2012 3:12:39 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XMLSchema currently not supported as typeLanguage
    May 7, 2012 3:12:39 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XPath currently not supported as expressionLanguage
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.interceptor.CommandContext close                             <—– Specified start time
    SEVERE: Error while closing command context
    org.activiti.engine.ActivitiOptimisticLockingException: TimerEntity[361] was updated by another tran      <—– Exception
    saction concurrently
            at org.activiti.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:452)
            at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:348)
            at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:149
    )
            at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:105)
            at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInte
    rceptor.java:49)
            at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInter
    ceptor.java:42)
            at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.j
    ava:130)
            at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.jav
    a:40)
            at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
            at org.activiti.engine.impl.jobexecutor.AcquireJobsRunnable.run(AcquireJobsRunnable.java:57)

            at java.lang.Thread.run(Thread.java:662)
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.jobexecutor.AcquireJobsRunnable run
    SEVERE: exception during job acquisition: TimerEntity[361] was updated by another transaction concur
    rently
    org.activiti.engine.ActivitiOptimisticLockingException: TimerEntity[361] was updated by another tran
    saction concurrently
            at org.activiti.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:452)
            at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:348)
            at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:149
    )
            at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:105)
            at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInte
    rceptor.java:49)
            at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInter
    ceptor.java:42)
            at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.j
    ava:130)
            at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.jav
    a:40)
            at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
            at org.activiti.engine.impl.jobexecutor.AcquireJobsRunnable.run(AcquireJobsRunnable.java:57)

            at java.lang.Thread.run(Thread.java:662)
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy                        <—– Second deployment ???
    INFO: Processing resource Timer-Start-Proc01.timeStartProc01.png
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
    INFO: Processing resource WF-Proc-1.bpmn20.xml
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XMLSchema currently not supported as typeLanguage
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XPath currently not supported as expressionLanguage
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
    INFO: Processing resource WF-Proc-1.WF-Proc-1.png
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.deployer.BpmnDeployer deploy
    INFO: Processing resource Timer-Start-Proc01.bpmn20.xml
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XMLSchema currently not supported as typeLanguage
    May 7, 2012 3:15:00 PM org.activiti.engine.impl.bpmn.parser.BpmnParse parseDefinitionsAttributes
    INFO: XPath currently not supported as expressionLanguage
    Timer-Start-Proc 01 logged at 2012/05/07 15:15:00 120                                                                <— Output of Script task

Outcomes