我可以调用具有多个参数的Apache Camel RMI endpoints 方法吗?
我调用的方法签名是:public ReturnedVo methodSignature(String parm1,byte [] parm2)
Camel Route:from(“timer:myTimer?period = 5000”.routeId(“TestRoute”) . process(new Processor(){public void process(Exchange exchange)throws Exception {exchange.getOut() . setBody(??? ????);}}) . to(uri)
其中uri =“rmi:// serviceLocation?method = methodSignature”
当方法具有单个参数时,我能够使用类似的路由从同一服务调用不同的方法 . 我正在使用对象的实例设置消息体:exchange.getOut() . setBody(instanceOfObject) .
我正在调用的服务是Weblogic 8.1上的远程EJB .
在此先感谢您的帮助 .
1 回答
回答我自己的问题 . 以下是我为解决这个问题所做的工作 .
1)对uri进行了更改:uri =“rmi:// serviceLocation?
method=methodSignature&multiParameterArray=true
2)创建Object数组以存储要调用的方法的参数:
Object [] body = new Object [] {“parm1”,new byte [11]};
3)改变了驼峰路线以使用Object []体:
请注意,从Camel 2.9开始,有不同的解决方案 . 这是链接http://camel.465427.n5.nabble.com/bean-ejb-etc-how-to-set-parameters-td4375679.html