Hi,
I'm making tests locally with "AIO - SDK 4.0". I want to cancel a user task after receiving a signal, this is a snippet of the bpmn:
<?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:xsd="http://www.w3.org/2001/XMLSchema" 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"> <signal id="mySignal" name="mySignalName" /> <process id="myProcess" name="My process" isExecutable="true"> ... <userTask id="usertask1" name="Task 1" activiti:assignee="${initiator.properties.username}"> <extensionElements> <activiti:formProperty id="taskValue1" name="Task Value 1" type="string"></activiti:formProperty> </extensionElements> </userTask> <sequenceFlow id="flow2" sourceRef="scripttask1" targetRef="usertask1"></sequenceFlow> <boundaryEvent id="boundarysignal1" name="Signal" attachedToRef="usertask1" cancelActivity="true"> <signalEventDefinition signalRef="mySignal" /> </boundaryEvent> <sequenceFlow id="flow4" sourceRef="boundarysignal1" targetRef="scripttask1"></sequenceFlow> ... </process> <bpmndi:BPMNDiagram id="BPMNDiagram_myProcess"> ... </bpmndi:BPMNDiagram> </definitions>
Here is the process diagram:
I have a service which is called from a webscript, the definition in service-context.xml is:
<bean id="myActivitiUtil" class="com.someco.bean.MyActivitiUtil"> <property name="runtimeService" ref="activitiRuntimeService" /> </bean>
So far so good, the runtimeService correctly retrieves me the only instance I have with the boundary event, with;
List<Execution> executions = runtimeService.createExecutionQuery().signalEventSubscriptionName(signal).list(); for (Execution execution : executions) { ... }
The problem is when inside the loop I call:
runtimeService.signalEventReceived(signal, execution.getId());
I get the error:
content-tutorial-acs_1 | 2020-01-06 16:22:19,763 ERROR [impl.interceptor.CommandContext] [http-nio-8080-exec-3] Error while closing command context content-tutorial-acs_1 | org.apache.ibatis.exceptions.PersistenceException: content-tutorial-acs_1 | ### Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class java.util.ArrayList with invalid types () or values (). Cause: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessDeclaredMembers") content-tutorial-acs_1 | ### The error may exist in org/activiti/db/mapping/entity/HistoricVariableInstance.xml content-tutorial-acs_1 | ### The error may involve org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity.selectHistoricVariableInstanceByVariableInstanceId content-tutorial-acs_1 | ### The error occurred while handling results content-tutorial-acs_1 | ### SQL: select * from ACT_HI_VARINST where ID_ = ? content-tutorial-acs_1 | ### Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class java.util.ArrayList with invalid types () or values (). Cause: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessDeclaredMembers") content-tutorial-acs_1 | at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ...
Any help would be much appreciate. Thanks.
Ask for and offer help to other Alfresco Process Services and Activiti Users and members of the Alfresco team.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.