Spring Cloud Stream默认自定义邮件标头

时间:2017-06-15 15:29:19

标签: spring spring-cloud spring-cloud-stream spring-kafka

当从方法返回值生成消息时,有没有办法配置默认的Message<T>标头:

@Publisher(channel = "theChannelname")
public MyObject someMethod(Object param) {
    ...
    return myObject;
}

@SendTo("theChannelname")
public MyObject someMethod(Object param) {
    ...
    return myObject;
}

在上面的示例中,将自动生成Message<MyObject>

那么,我该如何控制默认的消息生成?

2 个答案:

答案 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

相关问题