1 2 3 4 5 6 7 8 9 10 下一页 一、概述 消息服务是一种在分布式应用之间提供消息传递服务的软件,具有可靠、异步、宽松结合、语言中立、平台中立的特点,而且通常是可配置的。它的实现原理是:对发送者和接收者之间传递的消息进行封装,并在分布式消息客户程序结合的位置加上一个软件处理层。消息服务为消息的客户程序提供了一个接口,这个接口隔离了底层的消息服务,使得各种不同的客户程序能够通过一个友好的编程接口方便地通信。 Java消息服务(Java Message Service,JMS)是一个Java API,它定义了消息的客户程序如何以一种标准化的形式与底层的消息服务提供者交互。JMS提供了一种接口,底层消息服务提供者通过该接口向客户程序提供JMS消息服务。JMS提供了点对点消息模式(Point-to-Point)和发布-订阅消息模式(Publish-Subscribe)。点对点消息模式通过一个消息队列实现,消息的生产者向队列写入消息,消息的消费者从队列提取消息。发布-订阅消息模式通过一个话题(Topic)节点构成的层次结构实现,消息的生产者向这个层次结构发布消息,消息的消费者向这个结构订阅消息。 点对点消息模式具有如下特点: 每一个消息只有一个消费者。 消息的接收者和发送者之间不存在时间上的依赖关系。不论发送者发送消息时接收者是否在运行,接收者都可以提取信息。接收者对于成功处理的消息给出回执。 发布-订阅消息模式具有如下特点: 每一个消息可以有多个消费者。 向某个话题订阅的客户程序只能收到那些在它订阅之后发布的消息。为了接收到消息,订阅者必须保持活动状态。因此,发布者和订阅者之间存在时间上的依赖关系。 JMS API在一定程度上放宽了对这种依赖关系的要求,允许创建持久性订阅(Durable Subscription)。有了持久性订阅,当订阅者不活动时发送的消息也能接收到。 (责任编辑:admin) |