我正在使用Activiti BPM来实现简单的工作流程。此工作流程向用户发送电子邮件并等待用户反馈。如果24小时未收到反馈,它将再次发送电子邮件并等待回复。
我使用了像这样的边界事件:
<boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="userTask" cancelActivity="true">
<timerEventDefinition>
<timeDuration>PT24H</timeDuration>
</timerEventDefinition>
</boundaryEvent>
我可以看到在ACT_RU_JOB表中创建的计时器作业。但是这项工作没有被触发。
答案 0 :(得分:1)
可能您没有在Activiti配置中设置jobExecutorActivate=true
。
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="true" />
<property name="history" value="activity"/>
</bean>
希望它有所帮助。
答案 1 :(得分:0)
From activiti 6.0.0 Version
need to use springConfiguration.setAsyncExecutorActivate(true);
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="asyncExecutorActivate" value="true" />
<property name="history" value="activity"/>
</bean>