我想在Camel(2.21)路由上的Java bean中执行一些带有多参数的方法。 他们的论点是骆驼信息中的一些要素。 主体数据类型为json,xml等。 如何配置CamelContext.xml并编写Java类代码?
答案 0 :(得分:0)
您可以执行以下操作:
import org.apache.camel.Body;
import org.apache.camel.Headers;
@Named("demo")
public class MyBean {
public void processBody(@Body XmlType jaxbBody, @Headers Map<String, Object> params) {
}
public void processBody(@Body InputStream streamBody, @Headers Map<String, Object> params) {
}
public void processBody(@Body String stringBody, @Headers Map<String, Object> params) {
}
}
然后在骆驼路线中,发布适当的身体和参数:
from("direct:demoString")
.setBody( constant("StringValue") )
.setHeader("param1", constant(false) )
.to("bean://demo?method=processBody")
from("direct:demoJaxb")
.setBody( constant(myObject) )
.setHeader("param1", constant(true))
.setHeader("param2", constant("APPEND"))
.to("bean://demo?method=processBody")