activemq小总结

基于jms实现的消息中间件,可以进行多种配置,实现同步或异步消息处理,实现事务处理。

同步接收消息:

MessageConsumer中的Messagereceive()方法,会阻塞的获取同步消息,此方法可以带参数,控制最长阻塞时间

异步接收消息:

MessageConsumer中的voidsetMessageListener(MessageListenerlistener),可以设置个监听器,等有消息来的时候触发此监听中实现的方法onMessage(Messagemessage)方法,对消息做处理

事务

Connection生成session时,SessioncreateSession(booleantransacted,intacknowledgeMode)方法的第一个参数是配置事务用的,如果第一个参数是true,第二个参数就必须是Session.SESSION_TRANSACTED。它们的意思是这个session必须有明确的事务处理。比如session.commit()来确认发送或接收

master-slave

只需要把多个activemq中的存储消息的地址设置成一个,就会自动进入master-slave模式,第一个启动的activemq就会是master,其他的mq会等待,如果master发生故障,其他的mq会自动抢存储地址,抢到的就成为master。修改<kahaDBdirectory="XXX"/>

负载均衡

需要在broker节点里配置<networkConnectors>,在多个activemq中设置<networkConnectors>属性,并且uri地址互指,在代码调用的时候url的设置可以做类似"failover:(tcp://localhost:61617,tcp://localhost:61616)"这样的设置

相关推荐