271.11. 路由示例

QuickFIX/J 组件源代码(测试子目录)中包含几个示例。这些示例之一实施了 trival trade excecution 模拟。示例定义了一个应用程序组件,它使用 URI 方案 "trade-executor"。

以下路由接收 trade executor 会话的消息,并将应用程序消息传递给 trade执行器组件。

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 组件会生成消息被路由到交易会话。会话 ID 必须在 FIX 消息本身中设置,因为在端点 URI 中没有指定会话 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());