在日常的业务开发过程当中,我们经常会遇到这样的问题,列如,当客户登陆一个系统成功后,休要调用积分服务器对客户增加积分,还有可能会调用其他服务,去做其他的事情,这时候,如果出现积分服务器故障,用户就得等,这样对用户而言,用户体验不是很好,那么如何解决这个问题,我们可以使用javad的消息中间件来实现,activeMQ就是遵循JMS规范的java消息中间键,我们可以在用户登陆成功的同时,发送一条消息给积分服务器,该用户登陆成功,需要增加积分,用户返回主页面,做自己的事情,而消费者去消费这个消息来执行想要的服务,这样做的目的,可以很大程度上解耦,降低程序之间的耦合度,activeMQ的用法总结如下:
第一步:首先到Apach官网上去下载ActiveMQ软件(linux版本的),将其在linux环境下解压,然后进入解压目录下,进入bin目录,输入./activemq start启动服务,这时可以在网页当中输入相应的网址进行查看,默认的用户名和密码为admin,网址:http://192.168.74.128:8161/admin
第二步:使用Spring整合ActiveMQ,首先需要导入Spring-jsm、actviemq-all相关jar包
第三步:在Spring的配置文件当中创建链接工厂、消息目的地:
第四步:创建一个生产者接口,用来发送消息:
第五步:创建该接口的实现类。
第七部:启动IOC容器发送消息
第十一步:把该类注册到Spring的配置文件当中去。
第十二步:创建消费者类,使其实现messageListener接口
第十三步:在Spring的配置文件当中配置该监听器类以及消息容器(由spring-jms提供)
第十四步:启动IOC容器,该监听器就会自动起作用,以直监听消息进行处理。
注:目的地有两种模式,分别为主题模式和队列模式,区别是:队列模式下的消息对被多个消费者平均消费,而主题模式下的消息则是单独消费,不平均消费。