当从方法返回值生成消息时,有没有办法配置默认的Message<T>
标头:
@Publisher(channel = "theChannelname")
public MyObject someMethod(Object param) {
...
return myObject;
}
或
@SendTo("theChannelname")
public MyObject someMethod(Object param) {
...
return myObject;
}
在上面的示例中,将自动生成Message<MyObject>
。
那么,我该如何控制默认的消息生成?
答案 0 :(得分:2)
不是真的 - 假设如果你返回一个有效载荷,那么你不关心标题。您可以让方法返回Message
并在那里添加自己的标题。
答案 1 :(得分:1)
您可以通过@Header
注释为方法参数执行此操作:
@Publisher(channel="testChannel")
public String defaultPayload(String fname, @Header("last") String lname) {
return fname + " " + lname;
}
http://docs.spring.io/spring-integration/reference/html/message-publishing.html#publisher-annotation