初识JMS

引言   

       随着SOA(面向服务技术架构)的兴起,越来越多的应用系统开始进行分布的设计和部署,系统由单一的技术架构变成面向服务的多系统架构,而原先的一个系统也开始向分布式系 统发展,随之产生的中间件技术不断发展,越来越广泛的应用到大部分系统中,而对于我们来讲,消息中间件被使用的范围越来越广。

概述  

      java  message  service 简称 JMS,也就是我们所说的java消息服务,是Java 平台关于面向消息中间件(MOM)的API,用于在两个程序之间或者分布式系统中发送消息,进行异步通信;JMS是一种与厂商无关的API,用来访问消息收发系统的消息,类似于JDBC,但jdbc可以访问许多不同关系数据库的API,而JMS则提供同样与厂商无关的访问方法,以访问消息收发服务;

      在介绍具体使用之前,我们先来了解企业的消息系统的具体应用及好处:

             

        如上图所示,A,B两个系统可以通过message的服务器来异步收发消息:A系统可以发送消息给message服务器,然后系统(程序)B则通过message服务器来获取(接收消息),因此我们可以发现:

      1.A,B两个系统之间很好的解耦,构成松散耦合;

      2.系统之间的消息形成异步消息;

      3.提供了消息的灵活性

    JMS的对象模型

 1)连接工厂。连接工厂(ConnectionFactory)是由管理员创建,并绑定到JNDI树中。客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。

2)JMS连接。JMS连接(Connection)表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。

3)JMS会话。JMS会话(Session)表示JMS客户与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。

4)JMS目的。JMS目的(Destination),又称为消息队列,是实际的消息源。

5)JMS生产者和消费者。生产者(Message Producer)和消费者(Message Consumer)对象由Session对象创建,用于发送和接收消息。

         

  JMS消息的类型

        ①  点对点(Point-to-Point)。在点对点的消息系统中,消息分发给一个单独的使用者。点对点消息往往与队列(javax.jms.Queue)相关联。
       P2P模型是基于队列的,消息生产者发送消息队列,消息的消费者从队列中接收消息,队列的存在使消息的异步传输成为可能,P2P模型在点对点的情况下进行消息传递时使用:
                        
        ②  发布/订阅(Publish/Subscribe)。发布/订阅消息系统支持一个事件驱动模型,消息生产者和消费者都参与消息的传递。生产者发布事件,而使用者订阅感兴趣的事件,并使用事件。该类型消息一般与特定的主题(javax.jms.Topic)关联。
        该模型定义了如何向一个内容节点发布和订阅消息,这个内容节点成为topic(主题)。主题可以认为是消息传递的中介,消息发布者将消息发布到某个主题,而消息订阅者则从主题订阅消息。主题使得消息的订阅者与消息的发布者相互独立,不需要进行接触就可以保证消息的传递,该模型主要在消息的一对多广播时使用
                     
       JMS提供了独立的消息服务系统,JMS的客户端之间可以通过JMS服务进行异步的消息传输,不仅达到了解耦合的目的也使系统之间的消息传递更加灵活。这篇小编先带大家了解一下JMS,下篇小编将同大家分享当下比较火的消息系统--activemq,敬请关注!

      

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值