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"
結果なし。そして私は多くの仕事を作りました。私はAlfrescoは4.1を使用しています
は、私はそれがワークフローにポリシーをバインドすることはできません見つかっ
興味深い変更されたときにトリガを取得タスクリスナーがありません、私は私が今まで誰もがワークフロータスクで動作を使用しようと見てきたとは思わないし、私は」それがうまくいくかどうかわからない。ワークフローにタスクリスナーを追加するだけの理由は何ですか? –
私はタスクリスナーを試しましたが、タスクプロパティの変更をトリガーする方法はありません。しかし、私は代わりの方法を見つけた – Troncador