我可以将URI连接到Camel代理类的每个方法吗?

时间:2015-10-05 12:28:20

标签: java spring apache-camel spring-remoting

使用Camel代理我可以执行以下操作:

public class MyBean {
    @Produce(uri = "direct:mybean")
    private MyProxy producer;

    public void doSomething() {
        String response = producer.sayHello("James");
    }
}

其中MyProxy与一种方法接口 - sayHello()

但在我的情况下,我希望在MyProxy接口中有多个方法,理想情况下这些方法将具有单独的URI端点。否则,我将为每个要代理的端点设置一个接口。

可以在方法上设置anotations @Produce@EndpointInject,所以我猜这是可能的。是吗?如果没有,你能推荐我另一种方法吗?

1 个答案:

答案 0 :(得分:-1)

你可以通过在camel中注册MyProxy Bean并使用bean和beanRef调用调用方法来实现这一点。

from("")
    .bean(MyProxy.class, "sayHello(James)");

from("")
    .beanRef("idOfProxyBeanFromRegistry", "sayHello(James)");

有关更多信息,请参阅camel bean binding:http://camel.apache.org/bean-binding.html