如何给wire tap bean添加一个额外的参数

时间:2014-04-08 09:14:15

标签: apache-camel

对克劳斯来说,我得到了wire tap working使用豆子。但有没有办法给它一个参数(可能通过标题?)? 在我的情况下,我想指定一个输出文件。

2 个答案:

答案 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.htmlhttp://camel.apache.org/parameter-binding-annotations.html

编辑:要设置标题,您可以使用:

<setHeader headerName="fileName">
    <constant>SampleFileName.txt</constant>
</setHeader>

您可以在执行wireTap之前执行此操作

答案 1 :(得分:0)

使用camel annotations在执行bean调用时注入参数值