面向消息的中间件:Message-oriented Middleware, MOM
基本功能:
将信息以消息的形式,从一个应用程序传送到另一个或多个应用程序
主要特点:
消息异步接受,类似手机短信的行为,消息发送者不需要等待消息接受者的响应,减少软件多系统集成的耦合度;
消息可靠接收,确保消息在中间件可靠保存,只有接收方收到后才删除消息,多个消息也可以组成原子事务
消息中间件的主要应用场景:
公司在发展过程中,开发(或者购买了)多套企业信息系统,比如财务系统,人事系统,在线销售系统,运营系统等。这些系统生产/消费公司的各种业务数据。公司需要将这些系统集成(整合),比如让在线销售系统的订单数据输入到财务系统中
类似应用的一般系统需求是:
可靠传输,数据不能丢失,有的时候,也会要求不能重复传输
异步传输,否则各个系统同步发送接受数据,互相等待,造成系统瓶颈
ActiveMQ 对于消息的传递有两种类型:
一种是点对点的,即一个生产者和一个消费者一一对应;
另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
StreamMessage -- Java原始值的数据流
MapMessage--一套名称-值对
TextMessage--一个字符串对象
ObjectMessage--一个序列化的 Java对象
BytesMessage--一个字节的数据流