对克劳斯来说,我得到了wire tap working使用豆子。但有没有办法给它一个参数(可能通过标题?)? 在我的情况下,我想指定一个输出文件。
答案 0 :(得分:2)
您可以将标题作为参数传递到bean方法中,例如,如果您有一个名为“fileName”的标题:
public class WireTap {
public PcrfEdrPostpaidWireTap(){
System.out.println("wiretap constructor called");
}
@Handler
public void handleBody(String body, @Header("fileName") String fileName){
System.out.println("Wiretap says:" + body + " and the fileName is: "+fileName);
}
}
可以在此处找到更多信息:https://camel.apache.org/bean-binding.html和http://camel.apache.org/parameter-binding-annotations.html
编辑:要设置标题,您可以使用:
<setHeader headerName="fileName">
<constant>SampleFileName.txt</constant>
</setHeader>
您可以在执行wireTap之前执行此操作
答案 1 :(得分:0)
使用camel annotations在执行bean调用时注入参数值