消息服务一

1、在大型项目中,一般都会用到消息服务(JMS)。JMS只是一个规范,它是消息传送客户端和消息传送系统通信时所需接口和类的一个抽象。就像JDBC抽象访问关系型数据库,JNDI抽象访问命名和目录服务一样。至于MQ,则是JMS的一种具体实现。消息服务具有的优点,这里简单介绍一下。

   ①异构集成

   ②缓解系统瓶颈

   ③提高可伸缩性

   ④提高效率

   ⑤有助于体系结构的灵活性和敏捷性

   作为开发人员而言,以上的几点只用简单的了解一下即可。

2、JMS主要支持两种消息传送方式:点对点模型(P2P),发布/订阅模型(Pub/Sub)。

     在点对点模型中,发送者发送的消息,只能被一个接收者所接收,即使接收者有多个。采用轮询或者拉取的方式,从队列中请求消息。

     在发布/订阅模型中,发布者发送的消息,能够被多个订阅者锁接收。主题采用推送的方式,将消息推送到订阅者。

3、相关的主要接口                                                                                                                                                                        

名称连接工厂目的地连接会话消息消息生产者消息消费者
公共接口ConnectionFactoryDestionationConnectionSessionMessageMessageProducerMessageConsumer
点对点模型QueueConnectionFactoryQueue QueueConnectionQueueSesssionMessageQueueSenderQueueReceiver
发布/订阅模型TopicConnectionFactoryTopicTopicConnectionTopicSessionMessageTopicPublisherTopicSubscriber

4、Message,消息。一条消息包括,消息头,属性和有效负载。消息类型之间的区别取决于他们的有效负载,也就是该消息包含的 应用程序数据类型。下面接单的介绍一个各      种消息:

    ①Message,不含有效负载。

    ②TextMessage,携带了一个java.lang.String作为有效负载。可用于简单的文本消息交换,也可用于更复杂的字符数据交换,比如XML文档等。

    ③ObjectMessage,携带了一个可序列化Java对象作为有效负载。

    ④BytesMessage,携带了一组原始类型字节流作为有效负载。

    ⑤StreamMessage,携带了一个Java原始数据类型流(int,double,char等)作为有效负载。

    ⑥MapMessage,携带了一组键值对作为有效负载,类似于java.util.Properties对象。

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值