RabbitMQ实战基础
来源:互联网 发布:多益网络登录器 编辑:程序博客网 时间:2024/06/05 22:24
整合spring,RabbitMQ的使用
相关的jar包3个: rabbitmq-client.jar,spring-amqp.jar,spring-rabbit.jar
spring-rabbitmq.xml的相关配置
<!--连接配置--> <rabbit:connection-factory id="connectionFactory" host="${mq.host}" port="${mq.port}" username="${mq.username}" password="${mq.password}"/> <rabbit:admin connection-factory="connectionFactory"/> <!--定义交换器--> <rabbit:template id="amqpTemplate" connection-factory="connectionFactory" exchange="cjlHb"/> <!--定义queue--> <rabbit:queue name="rabbitMQCjl" durable="true" exclusive="false" auto-delete="false"/> <!--将queue绑定exchange上--> <rabbit:topic-exchange name="cjlHb"> <rabbit:bindings> <rabbit:binding queue="rabbitMQCjl" pattern="rabbitMQ.cjl.demo"></rabbit:binding> </rabbit:bindings> </rabbit:topic-exchange> <rabbit:listener-container connection-factory="connectionFactory"> <rabbit:listener ref="rabbitMQDemo" method="listen" queue-names="rabbitMQCjl"/> </rabbit:listener-container> <bean id="rabbitMQDemo" class="org.cjl.demo06.RabbitMQDemoReal"/> <bean id="rabbitMQSender" class="org.cjl.demo06.RabbitMQSender"/>
config相关配置
mq.host=127.0.0.1mq.username=guestmq.password=guestmq.port=5672
代码目录结构
相关代码
package org.cjl.demo06;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * The type RabbitMQDemo. * * @author cjl * @Description: * @Date 2017/4/28 */public abstract class RabbitMQDemo<T extends Object> { private static final Logger logger= LoggerFactory.getLogger(RabbitMQDemo.class); public void listen(Object data){ logger.info("进来了。。。。"); //System.out.println("进来了。。。。"); String str=String.valueOf(data); dosomething(str); logger.info("结束了。。。。"); //System.out.println("结束了。。。。"); } protected abstract void dosomething(String str);}
package org.cjl.demo06;/** * The type RabbitMQDemoReal. * * @author cjl * @Description: * @Date 2017/4/28 */public class RabbitMQDemoReal extends RabbitMQDemo{ @Override protected void dosomething(String str) { System.out.println("做了一些事。。。。"+str); }}
package org.cjl.demo06;import org.springframework.amqp.core.AmqpTemplate;import org.springframework.beans.factory.annotation.Autowired;/** * The type RabbitMQSender. * * @author cjl * @Description: * @Date 2017/4/28 */public class RabbitMQSender { @Autowired private AmqpTemplate amqpTemplate; public void sendMQ(){ for (int i = 0; i <10 ; i++) { System.out.println("第"+i+"次发送消息开始"); amqpTemplate.convertAndSend("rabbitMQ.cjl.demo","我是RabbitMQ"); System.out.println("第"+i+"次发送消息结束"); } for (int i = 0; i <10 ; i++) { System.out.println("第"+i+"次发送其他消息开始"); amqpTemplate.convertAndSend("rabbitMQ.cjl.demo01","我是RabbitMQ"); System.out.println("第"+i+"次发送其他消息结束"); } }}
package org.cjl.demo06;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * The type RabbitMQMain. * * @author cjl * @Description: * @Date 2017/4/28 */public class RabbitMQMain { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); RabbitMQSender rm=applicationContext.getBean("rabbitMQSender",RabbitMQSender.class); rm.sendMQ(); }}
日志打印结果
0 0
- RabbitMQ实战基础
- RabbitMQ实战
- RabbitMQ实战
- rabbitMq实战
- RabbitMQ基础
- RabbitMQ基础
- rabbitmq基础
- rabbitmq基础
- RabbitMQ基础
- rabbitmq基础
- rabbitmq实战(广播模式)
- rabbitmq实战总结
- SpringBoot项目实战--RabbitMQ
- rabbitmq 学习-6-rabbitmq基础
- rabbitmq 学习-6-rabbitmq基础
- rabbitmq 学习-6-rabbitmq基础
- RabbitMQ-从基础到实战(4)— 消息的交换(下)
- centos6.3安装rabbitmq实战
- lib 简单实现
- ros中编译moveit_tutorials出错
- 【Python学习笔记】-json模块
- Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器
- 利用spark的mllib构建GBDT模型
- RabbitMQ实战基础
- HTML与CSS的链接方式
- [题解]April Cook-Off 2017
- 2017百度实习生春招java笔试题 输出第三便宜价格
- ERROR 1146 (42S02): Table 'eip_fileservice.t_document_file' doesn't exist
- Android Multimedia框架总结(九)Stagefright框架之数据处理及到OMXCodec过程
- 为何与0xff进行与运算
- 开发中遇到Js缓存问题。和页面会话级别的缓存。
- ndroid OS MTK6573 SD卡驱动浅析