ActiveMQ的来由

 

ActiveMQ是Apache的一个开源项目,它是一个能力强劲的开源消息总线,也是一个中间件产品。它是JMS的一个实现。

JMS是Java Message Service的简称,用来发送异步消息,在不同系统和不同的模块之间我们可以利用它实现集成。

JMS有两个好处,第一个就是让模块之间或者系统之间的耦合度降低,第二个是异步通信。

JMS的消息机制有2种模型,一种是Point to Point,表现为队列的形式。发送的消息,只能被一个接收者取走;另一种是Topic,可以被多个订阅者订阅,类似于群发。

在JMS中有这样几个重要的核心接口和类:

ConnectionFactory,用于jms client获取与jms provider的连接。不同的jms产品,对这个接口有不同的实现,比如说ActiveMQ,这个接口的实现类是ActiveMQConnectionFactory

Connection,是由ConnectionFactory产生的,表示jms client与jms provider的连接

 Session,是由Connection产生的,表示一个会话。Session是关键组件,Message、Producer/Consumer、Destination都是在Session上创建的。

 Message,这个组件很好理解,就是传输的消息,里面包括head、properties、body,其中head是必选的。

 Destination,是消息源,对发送者来说,就是消息发到哪里;对接收者来说,就是从哪里取消息。Destination有2个子接口,Queue和Topic,分别对应上面提到的2种模型。

MessageProducer,是消息发送者,创建这个组件的代码类似:

//创建一个Queue,名称为SongLiGuo_FirstQueue

 destination = session.createQueue("SongLiGuo_FirstQueue");

//得到消息生产者【发送者】

 messageProducer = session.createProducer(destination);

可以注意到,这里需要把Destination作为参数,传入createProducer()方法,这说明消息发送者是绑定到Destination上的,这个发送者发送的消息,会发送到这个绑定的Destination上

MessageConsumer,是消息接收者,和Message Producer是相反的一种组

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值