128.3. 使用方法
ルートのコンシューマー側で guava-eventbus
コンポーネントを使用すると、Guava EventBus
に送信されたメッセージがキャプチャーされ、Camel ルートに転送されます。Guava EventBus コンシューマーは、入力メッセージを 非同期的に 処理します。
SimpleRegistry registry = new SimpleRegistry(); EventBus eventBus = new EventBus(); registry.put("busName", eventBus); CamelContext camel = new DefaultCamelContext(registry); from("guava-eventbus:busName").to("seda:queue"); eventBus.post("Send me to the SEDA queue.");
ルートのプロデューサー側で guava-eventbus
コンポーネントを使用すると、Camel 交換の本体が Guava EventBus
インスタンスに転送されます。
SimpleRegistry registry = new SimpleRegistry(); EventBus eventBus = new EventBus(); registry.put("busName", eventBus); CamelContext camel = new DefaultCamelContext(registry); from("direct:start").to("guava-eventbus:busName"); ProducerTemplate producerTemplate = camel.createProducerTemplate(); producer.sendBody("direct:start", "Send me to the Guava EventBus."); eventBus.register(new Object(){ @Subscribe public void messageHander(String message) { System.out.println("Message received from the Camel: " + message); } });