Назначение ресурсов в движках Activit и esper
Я пытаюсь изменить код, который обнаруживает события из механизма activiti и бросает их в поток ESPER, и пытаюсь отобразить и изменить их переменные и выдать новые события в том же потоке. для этого я создал именованное окно, чтобы выбросить в него все события, обнаруженные в Activiti
epAdmin.createEPL("create window intermwindow.win:keepall() as select taskInstanceId,receiveTime,requestedAmount,eventType from tasklistenerlogic", "cepStatementmainquerywindow"); //create a new named window
epAdmin.createEPL("insert into intermwindow(taskInstanceId, receiveTime, requestedAmount, eventType ) select taskInstanceId,receiveTime,requestedAmount,'created' from tasklistenerlogic where eventType = 'create' ", "cepStatementmainquerywindowii1");
epAdmin.createEPL("insert into intermwindow(taskInstanceId, receiveTime, requestedAmount, eventType ) select taskInstanceId,receiveTime,requestedAmount,'allocated' from tasklistenerlogic where eventType = 'assignment' ", "cepStatementmainquerywindowii2");
epAdmin.createEPL("insert into intermwindow(taskInstanceId, receiveTime, requestedAmount, eventType) select taskInstanceId,receiveTime,requestedAmount,'completed' from tasklistenerlogic where eventType = 'complete' ", "cepStatementmainquerywindowii3");
epAdmin.createEPL("select * from intermwindow", "cepStatementmainquerywindowo");
все, что мне нужно сделать, это назначить несколько ресурсов для одной и той же задачи, как указано ниже
taskService.setAssignee(taskService.createTaskQuery().singleResult().getId(),"Atef");
taskService.setAssignee(taskService.createTaskQuery().singleResult().getId(),"Ramadan");
это вывод, который я получил:
>>> Throwing event: task assignment successfully: LoanRequestReceivedEvent{taskInstanceId= 9,receiveTime= 1446853025179,requestedAmount= 10,eventtype= assignment,resource= Atef}
event mapped successfully: {receiveTime=1446853025179, requestedAmount=10, taskInstanceId=9, eventType=allocated}
>>> Throwing event: task assignment successfully: LoanRequestReceivedEvent{taskInstanceId= 9,receiveTime= 1446853025226,requestedAmount= 10,eventtype= assignment,resource= Ramadan}
event mapped successfully: {receiveTime=1446853025226, requestedAmount=10, taskInstanceId=9, eventType=allocated}
проблема в том, что всякий раз, когда я пытался написать запрос, чтобы получить все разные ресурсы для одного и того же идентификатора задачи, как это
epAdmin.createEPL("select * from pattern [ every tasklistenerlogic(resource = \"Atef\") -> tasklistenerlogic(resource = \"Ramadan\") ]", "q3");
эта ошибка появляется: Тесты по ошибке:
testEsperActivitiSetup(org.bpmnwithactiviti.chapter14.LoanRequestProcessWithEsperTest): Property named 'resource' is not valid in any stream [select * from pattern [ every tasklistenerlogic(resource = "Atef") -> tasklistenerlogic(resource = "Ramadan") ]]
Я не знаю, как решить эту проблему, любые идеи будут оценены