Message是一个离散的信息片段,它可以在软件系统的不同组件中进行传递。在软件系统中,信息片段就是指程序中的数据,通常的表现就是声明为各种数据类型的变量,离散表示信息片段是独立的单元。每一个message都包含完整足够的信息,以满足消息消费的使用要求。
Message通常由元数据和真实数据组成,在spring integration中即message header和message payload。打个比方,Message就像一封信,message header就是信封上的信息(地址,收件人之类的信息),message payload就是信的内容。
Message通常分为三类:
Document Message,包含信息的
Command Message,指示消费者去执行某项动作的
Event Message,表示系统中发生了某项活动,提醒消息消费者是否做出响应
在Spring Integration中,消息由org.springframework.integration.Messge接口表示
public interface Message{
MessageHeaders getHeaders();
T getPayload();
}
通常情况下,我们不用自己实现该接口,因为不会直接操作消息对象。
在Spring Integration中,对该接口已经存在了一些实现类,一般情况下,不会直接操作这些类来创建Message。通常使用org.springframework.integration.support.MessageBuilder来生成一些message的对象。
我们可以直接使用要传输的数据创建Message对象如下,使用一个字符串“Hello,world!”来创建一个Message
MessageBuilder提供了一些方法来设置header如:
另外,MessageBuilder也可以直接通过一个已存在的Message对象来创建新的Message对象,设置Header,如: