JMS入门:一、基本构件

1.1、JMS的基本构件

1.1.1 连接工厂

    连接工厂是客户用来创建连接对象的,例如ActiveMQ提供的ActiveMQFactoryConnection

1.1.2 连接

    JMS Connection 封装了客户与JMS 提供者(即 JMS provider 即jms服务端)之间的一个虚拟的连接。


1.1.3  会话


    JMS Session 是生产和消费的一个单线程上下文。会话用于创建消息生产者(Producer)、消息消费者(Consumer)、消息(Message)等。会话提供了一个事务性的上下文,在这个上下文中一组发送和接收被组合到了一个原子操作中。


1.1.4 目的地

    目的地: 客户用来指定它生产的消息的目标和它消费的消息的来源的对象。
    

1.1.5 消息生产者

    由会话对象产生

1.1.6 消息消费者

    消息消费者是由会话产生的一个对象,它用于接收发送到目的地的消息。消息的消费分以下两种方式:

       1、同步消费,通过调用消费者的receive方法从目的地中显示提取消息。receive可以一直 阻塞直到消息到达(消息的接受者会一直等待,知道有消息达到或者超时)       
                     while (true) {
			TextMessage textMessage = (TextMessage) consumer.receive(1000);
			if (textMessage != null) {
				System.out.println("收到的消息是:" + textMessage.getText());
			} else {
				break;
			}
		}


       2、异步消费,客户可以为消费者注册一个消息监听器( MessageListener),以定义在消息到达时候所采取的行动.

 
	consumer.setMessageListener(new MessageListener() {

			public void onMessage(Message message) {
				TextMessage textMessage = (TextMessage) message;
				try {
					System.out.println("接收到的文字消息为:" + textMessage.getText());
				} catch (JMSException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}    
		});

1.1.7 消息(可参考:http://www.cnblogs.com/guthing/archive/2010/06/12/1757158.html)

    JMS消息由三部分组成:
           1、消息头:每个消息头字段都有一个setter和getter方法
           2、消息属性:如果需要除消息头以外的值,那么可以使用消息属性
           3、消息体:JMS定义的消息类型有:TextMessage,MapMessage,BytesMessage,StreamMessage,ObjectMessage
  

1.1.8 消息的传递

     消息传递域的两种形式:1、点对点(queue):简单点说,就是一对一的过程,一条消息只能被一个消费者消费
                                                 2、发布订阅(topic):类似于邮局发布报纸,凡是订阅了这个topic的消费者,均可以消费


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值