У меня есть среда интеграции spring 3 и jbpm 4.4. Однако в одной из моих задач я предоставил событие в соответствии со спецификациями jpdl.
Мой фрагмент jpdl с элементом задачи выглядит так:
<task name="TK1"
assignee="test"
description="A task that gets assigned to somebody with user name test"
g="117,90,48,52">
<on event="start">
<event-handler expr="#{myEventHandler}"/>
</on>
<on event="end">
<event-handler expr="#{myEventHandler}"/>
</on>
<transition name="END" to="END" g="-31,2"/>
</task>
и bean-компонент myEventHandler создается весной, как показано ниже:
<bean id="myEventHandler" class="com.test.MyEventHandler">
<!-- myBO bean is created in the spring application context file itself which contains code to insert/update data to DB-->
<property name="myBO" ref="myBO"/>
</bean>
и мой класс обработчика событий выглядит так:
import org.jbpm.api.listener.EventListener;
import org.jbpm.api.listener.EventListenerExecution;
public class MyEventHandler implements EventListener {
private MyBO myBO;
@Override
public void notify(EventListenerExecution eventExecution) throws Exception
{
//Do some logical operation based on incoming process variable...
//Use the myBO bean to do DB operation...
myBO.insert(...);
myBO.update(...);
}
}
Проблема в том, что после нескольких попыток метод уведомления НИКОГДА не выполняется. Я вижу, что задачи создаются в таблице JBPM4_TASK, но, как ни странно, я не могу вызвать вызов notify(). И нет никакой формы ошибки или предупреждения, которые можно было бы увидеть.
Кто-нибудь сталкивался с подобными проблемами? Есть ли способ решить эту проблему?
Любая помощь приветствуется.