ActiveMQ从入门到能干图文详解(2)

Write Code 4 ActiveMQ
来一个HelloWorld级此外例子,来感觉下ActiveMQ。详细来说,我这边会写一个出产者用于发送动静,一个消费者用于吸收动静。实际上,JMS是有“套路”的,下面我将以出产者为例具体说明。

第一步:建设ConnectionFactory毗连工场

从入门到能干标ActiveMQ(一)

ConnectionFactory

实际上,这里是存在安详隐患的,也就是任何人一旦知道MQ的地点,就可以毗连会见了,我们可以在activemq.xml中设置指定的用户、暗码才气会见ActiveMQ。

关于broker_bind_url,默认就是tcp://localhost:61616,说明是回收TCP协议,61616端口。其实对付ActiveMQ不只仅支持TCP协议,尚有其他协议,开启了多个端口。

从入门到能干标ActiveMQ(一)

第二步:建设Connection

Connection

Connection就代表了应用措施和动静处事器之间的通信链路。得到了毗连工场后,就可以建设Connection。

事实上,ConnectionFactory存在重载要领:

Connection createConnection(String username,String password)

也就是说我们也可以在这里指定用户名、暗码举办验证

第三步:建设Session

Session

Session,用于发送和接管动静,并且是单线程的,支持事务的。假如Session开启事务支持,那么Session将生存一组信息,要么commit到MQ,要么回滚这些动静。Session可以建设MessageProducer/MessageConsumer。

第四步:建设Destination

Destination

所谓动静方针,就是动静发送和接管的所在,要么queue,要么topic。

第五步:建设MessageProducer

MessageProducer

第六步:配置耐久化方法

耐久化方法配置

第七步:界说动静工具,并发送

从入门到能干标ActiveMQ(一)

Message

出产者和消费者之间通报的工具,由3个主要部门组成:

动静头(路由)+动静属性(动静选择器,今后先容)+动静体(JMS类型的5种范例动静)

从入门到能干标ActiveMQ(一)

动静范例

第八步:释放毗连

从入门到能干标ActiveMQ(一)

release resource

必需close connection,只有这样ActiveMQ才会释放资源!

消费者的代码和上面很是雷同,只不外就是建设MessageConsumer举办receive罢了,留意receive()/receive(long)/receiveNoWait(),这些说明消费者可以回收阻塞模式、非阻塞模式接管动静。

措施运行后,我们来看一下管控台:

从入门到能干标ActiveMQ(一)

ActiveMQ Web Info

Messages Enqueued:暗示出产了几多条动静,记做P

Messages Dequeued:暗示消费了几多条动静,记做C

Number Of Consumers:暗示在该行列上尚有几多消费者在期待接管动静

Number Of Pending Messages:暗示尚有几多条动静没有被消费,实际上是暗示动静的积存水平,就是P-C

在说说Session
在通过Connection建设Session的时候,需要配置2个参数,一个是否支持事务,另一个是签收的模式。我们重点说一下签收模式:

签收模式

什么是签收?通俗点说,就是消费者接管到动静后,需要汇报动静处事器,我收到动静了。当动静处事器收到回执后,本条动静将失效。因此签收将对PTP模式发生很大影响。假如消费者收到动静后,并不签收,那么本条动静继承有效,很大概会被其他消费者消费掉!

AUTO_ACKNOWLEDGE:暗示在消费者receive动静的时候自动的签收

CLIENT_ACKNOWLEDGE:暗示消费者receive动静后必需手动的挪用acknowledge()要领举办签收

DUPS_OK_ACKNOWLEDGE:签不签收无所谓了,只要消费者可以或许容忍反复的动静接管,虽然这样会低落Session的开销

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsdjxp.html