2

別々のソースからシステムに入る 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

エラーが発生します - イベントをあるコンテキストから別のコンテキストに優先的にルーティングするにはどうすればよいですか?

4

1 に答える 1