(八) Spring整合RabbitMQ进行消息队列开发
来源:互联网 发布:dota选手知乎 编辑:程序博客网 时间:2024/06/05 00:17
Spring AMQP提供了org.springframework.amqp.core.AmqpTemplate来发送与接收消息。RabbitMQ是Spring AMQP官方示例中所用的默认AMQP实现。
在项目pom.xml文件中添加依赖:
<!-- rabbitmq配置 --> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.4.0.RELEASE</version> </dependency>
Spring配置文件:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit" xsi:schemaLocation="http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.4.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> <!-- 定义RabbitMQ的连接工厂 --> <rabbit:connection-factory id="connectionFactory" host="${rabbit.host}" port="${rabbit.port}" username="${rabbit.username}" password="${rabbit.password}" virtual-host="${rabbit.vhost}" /> <!-- MQ的管理,包括队列、交换器等 --> <rabbit:admin connection-factory="connectionFactory" /> <!-- 定义队列,自动声明 --> <rabbit:queue name="SEARCH-TAOTAO-QUEUE-ITEM" auto-declare="true" durable="true" /> <!-- 消费者进行队列监听 --> <rabbit:listener-container connection-factory="connectionFactory"> <rabbit:listener ref="rabbitMQHandler" method="execute" queue-names="SEARCH-TAOTAO-QUEUE-ITEM" /> </rabbit:listener-container> <!-- 消费消息的bean --> <bean id="rabbitMQHandler" class="com.taotao.solr.rabbit.RabbitMQHandler" /> </beans>
java生产者代码:
public class SpringMain { public static void main(final String... args) throws Exception { AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/rabbitmq-context.xml"); // RabbitMQ模板 RabbitTemplate template = ctx.getBean(RabbitTemplate.class); // 发送消息 template.convertAndSend("Hello, world!"); // 休眠1秒 Thread.sleep(1000); // 容器销毁 ctx.destroy(); } }
Java消费者代码:
public class Foo { // 具体执行业务的方法 public void listen(String foo) { System.out.println("消费者: " + foo); } }
0 0
- (八) Spring整合RabbitMQ进行消息队列开发
- Spring整合RabbitMQ进行消息队列开发
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- 消息队列 RabbitMQ 与 Spring 整合使用
- 消息队列 RabbitMQ 与 Spring 整合使用
- 消息队列 RabbitMQ 与 Spring 整合使用
- 消息队列 RabbitMQ 与 Spring 整合使用
- MQ消息队列--RabbitMQ整合Spring理论及实例讲解
- Spring集成消息队列RabbitMQ
- 消息队列RabbitMQ与Spring
- Spring集成消息队列RabbitMQ
- hdu2546 饭卡(01背包 dp)
- android注解
- LeetCode 222. Count Complete Tree Nodes
- ORA-39245处理
- android studio 快捷键整理(二)
- (八) Spring整合RabbitMQ进行消息队列开发
- 为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >?
- sql相关
- 光谱角制图(SAM)
- 资源索引
- 更改nginx默认服务目录
- Keepalived_vrrp: ip address associated with VRID not present in received packet
- 解决IntelliJ IDEA 创建Maven项目速度慢问题
- DB2 HADR 恢复灾备数据库