別々のソースからシステムに入る 2 種類のイベントを受信できるアプリケーションを作成しています。それぞれを処理するコンテキストが必要です。以下のコードを参照してください。
event MyEvent1{
//stuff for context1
}
event MyEvent2{
//stuff for context2
}
event Cascade{
//PRIORITY stuff for context1 & 2
}
monitor Application{
context parallel1 := context("E1processor");
context parallel2 := context("E2processor");
action onload{
spawn handleE1() to parallel1;
spawn handleE2() to parallel2;
on all MyEvent1() as e {
send e to parallel1;
}
on all MyEvent2() as e {
send e to parallel2;
}
}//onload
action handleE1( ){
on all MyEvent1() as e1 {
//do work, create and route CASCADE event
route Cascade();
//I want to do this!
route Cascade() to parallel2; // < ----- ERROR
}
on all Cascade(){
//URGENT stuff
}
}
action handleE2(){
on all MyEvent2() as e1 {
}
on all Cascade(){
//URGENT stuff
}
}
}//Application
Cascade()
私の問題は、優先度が高いため、イベントを処理キューの先頭にプッシュしたいという事実にあります。しかし、次のことをしようとすると:
//do work, create and route CASCADE event
route Cascade(); //<--- Works
//I want to do this!
route Cascade() to parallel2; // < ----- ERROR
エラーが発生します - イベントをあるコンテキストから別のコンテキストに優先的にルーティングするにはどうすればよいですか?