【发布时间】:2016-11-15 22:11:28
【问题描述】:
骆驼documentation中提到我们可以使用@Produce注解注入ProducerTemplate,如下图所示。
@Produce(uri = "activemq:foo")
private ProducerTemplate producer;
我想知道是否可以不在注释中指定 uri 并在其 sendBody 方法中将 uri 传递给生产者,如下所示,以便我可以在 Util 类中使用它来生成任何端点?
public class JmsProducerUtils {
@Produce
private ProducerTemplate producer;
public void publishMessageToEndpoint(String endpoint, String message) {
producer.sendBody(endpoint, message);
}
}
在这样使用它时有什么需要注意的问题吗?
【问题讨论】:
-
添加为评论,因为它间接回答了您的问题。您可以制作实用程序 CamelContextAware,然后使用 CamelContext 获取生产者。然后像在示例中一样调用 sendBody。
标签: java annotations apache-camel jms