根据http://camel.apache.org/cdi.html
@Inject
@Uri("direct:event")
ProducerTemplate producer;
void observeCdiEvents(@Observes String event) {
producer.sendBody(event);
}
from("direct:event")
.log("CDI event received: ${body}");
相当于
@Inject
CdiEventEndpoint<String> cdiEventEndpoint;
from(cdiEventEndpoint).log("CDI event received: ${body}");
如何使用
转换示例 producer.asyncSendBody(...)
使用CdiEventEndpoint。 提前谢谢!
答案 0 :(得分:1)
我从未真正测试过这个,但是从文档中你应该能够用“seda”取代“直接”去asych:
@Inject
@Uri("seda:event")
ProducerTemplate producer;
...
在您澄清之后,我认为您可能正在寻找camel中的异步路由引擎,可以通过将threads()插入到java dsl设置中来使用它:
from("direct:event") // using a producer "direct:event" in an @Observes method
.threads()
.log("...")
或关于cdi事件设置
from(cdiEventEndpoint) // using @Inject CdiEventEndpoint<String> cdiEventEndpoint
.threads()
.log("...")