128.4. 사용법

경로의 소비자 측에서 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);
  }
});