270.11. ルート例

QuickFIX/J コンポーネントのソースコード (テストサブディレクトリー) には、いくつかの例が含まれています。これらの例の 1 つは、単純な取引実行シミュレーションを実装しています。この例では、URI スキーム trade-executor を使用するアプリケーションコンポーネントを定義しています。

次のルートは、Trade Executor セッションのメッセージを受信し、アプリケーションメッセージを Trade Executor コンポーネントに渡します。

from("quickfix:examples/inprocess.cfg?sessionID=FIX.4.2:MARKET->TRADER").
    filter(header(QuickfixjEndpoint.EVENT_CATEGORY_KEY).isEqualTo(QuickfixjEventCategory.AppMessageReceived)).
    to("trade-executor:market");

Trade Executor コンポーネントは、トレードセッションにルートされるメッセージを生成します。エンドポイント URI でセッション ID が指定されていないため、FIX メッセージ自体にセッション ID を設定する必要があります。

from("trade-executor:market").to("quickfix:examples/inprocess.cfg");

トレーダーセッションは、マーケットからの実行レポートメッセージを消費して処理します。

from("quickfix:examples/inprocess.cfg?sessionID=FIX.4.2:TRADER->MARKET").
    filter(header(QuickfixjEndpoint.MESSAGE_TYPE_KEY).isEqualTo(MsgType.EXECUTION_REPORT)).
    bean(new MyTradeExecutionProcessor());