0
다른 사람이 작업 속성 값을 변경할 때 코드를 실행하려고합니다.워크 플로우의 태스크가 일부 특성을 변경할 때 트리거하는 정책은 어떻게 만들 수 있습니까?
public void init() {
JavaBehaviour updateBehaviour = new JavaBehaviour(this,
OnUpdatePropertiesPolicy.QNAME.getLocalName(),
NotificationFrequency.TRANSACTION_COMMIT);
policyComponent.bindClassBehaviour(OnUpdatePropertiesPolicy.QNAME,
WorkflowModel.TYPE_TASK, updateBehaviour);
policyComponent.bindClassBehaviour(OnUpdatePropertiesPolicy.QNAME,
WorkflowModel.TYPE_START_TASK, updateBehaviour);
policyComponent.bindClassBehaviour(OnUpdatePropertiesPolicy.QNAME,
WorkflowModel.TYPE_ACTIVTI_TASK, updateBehaviour);
policyComponent.bindClassBehaviour(OnUpdatePropertiesPolicy.QNAME,
WorkflowModel.TYPE_ACTIVTI_START_TASK, updateBehaviour);
policyComponent.bindClassBehaviour(OnUpdatePropertiesPolicy.QNAME,
WorkflowModel.TYPE_WORKFLOW_TASK, updateBehaviour);
logger.debug("Initialised"); // the program prints this line
}
public void onUpdateProperties(NodeRef nodeRef, Map<QName, Serializable>
before, Map<QName, Serializable> after) {
String msg = String.format("NodeRef: %s", nodeRef.toString());
logger.info(msg); // this line is never printed
}
내가 작업과 관련된 거의 모든 유형에 대한 정책을 만들어 :
이
내 코드입니다. 그러나 작업의 일부 속성을 직접 값으로 변경하면 정책이 실행되지 않습니다.아마도 관련이 있습니다. Lucene somes 쿼리에서 다음과 같은 쿼리를 시도했습니다.
@bpm\:priority:1
TYPE:"bpm:task"
결과가 없습니다. 그리고 나는 많은 작업을 만들었습니다. 내가 프레스코 4.1을 사용하고
내가 그 워크 플로에 정책을 결합 할 수 없습니다 발견
흥미 롭 변경되었을 때 트리거 얻을 작업 리스너가 없다, 나는 내가 사람이 워크 플로 작업으로 동작을 사용하려고 본 적이 생각하지 않는다 내가 ' 그것이 작동할지 모르겠다. 왜 작업 리스너를 작업 흐름에 추가 할 수 없습니까? –
작업 리스너를 시도했지만 작업 속성 변경을 트리거 할 수있는 방법이 없습니다. 하지만 대체 방법을 찾았습니다. – Troncador