activemq小总结

基于jms实现的消息中间件,可以进行多种配置,实现同步或异步消息处理,实现事务处理。
同步接收消息:
MessageConsumer中的Message receive()方法,会阻塞的获取同步消息,此方法可以带参数,控制最长阻塞时间
异步接收消息:
MessageConsumer中的void setMessageListener(MessageListener listener),可以设置个监听器,等有消息来的时候触发此监听中实现的方法onMessage(Message message)方法,对消息做处理
事务
Connection生成session时,Session createSession(boolean transacted, int acknowledgeMode)方法的第一个参数是配置事务用的,如果第一个参数是true,第二个参数就必须是Session.SESSION_TRANSACTED。它们的意思是这个session必须有明确的事务处理。比如session.commit()来确认发送或接收

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

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

你可能感兴趣的:(activemq小总结)