我在Camel的网站上发现了这种方法,该方法演示了如何使用@Produce批注创建伪方法调用以将消息发送到JMS队列:

public interface MyListener {
    String sayHello(String name);
}

public class MyBean {
    @Produce(uri = "activemq:foo")
    protected MyListener producer;

    public void doSomething() {
        // lets send a message
        String response = producer.sayHello("James");
    }
}


但是,在我的场景中,我需要能够为不同的环境设置不同的JMS队列。因此,JMS在以下位置排队:

    @Produce(uri = "activemq:foo")


需要来自属性文件,而不是硬编码。

我该如何实现?在不使用注释的情况下,还有其他方法可以实现吗?

非常感谢你。

最佳答案

阅读有关使用属性占位符的文档


http://camel.apache.org/using-propertyplaceholder.html


设置时,您可以在带有注释的uri字符串中使用占位符

@Produce(uri = "activemq:{{myQueue}}")

07-24 19:01