概述
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
配置文件
# 连接地址
spring.rabbitmq.host=127.0.0.1
# 端口号
spring.rabbitmq.port=5672
# 账号
spring.rabbitmq.username=guest
# 密码
spring.rabbitmq.password=guest
# 地址
spring.rabbitmq.virtual-host=myvh
# 消息开启手动确认
#spring.rabbitmq.listener.direct.acknowledge-mode=manual
#采取手动应答
#spring.rabbitmq.listener.simple.acknowledge-mode=manual
#支持重试
#spring.rabbitmq.listener.simple.retry.enabled=true
#最大重试次数
#spring.rabbitmq.listener.simple.retry.max-attempts: 5
#重试间隔次数
#spring.rabbitmq.listener.simple.retry.initial-interval: 3000
配置类
@Configuration
public class RabbitmqConfig {
//配置Exchange
@Bean
public DirectExchange directExchange() {
return new DirectExchange("mydirect");
}
// 绑定交换机与队列
@Bean
public Binding getMyqueue(DirectExchange directExchange) {
Queue queue = new Queue("directqueue");
//mydirect -- 交换机Name;key -- 消费用的key
return BindingBuilder.bind(queue).to(directExchange).with("key");
}
}
发送消息
@Service
public class RabbitmqProducerService {
@Autowired
private AmqpTemplate amqpTemplate;
public void amqpTemplateTest(){
String message = UUID.randomUUID().toString().substring(0, 6);
//mydirect -- 交换机Name;key -- 发送的key
amqpTemplate.convertAndSend("mydirect","key.11",message);
System.out.println("发送完成");
}
}
接收消息
@Component
public class RabbitmqListener {
@RabbitListeners({@RabbitListener(queues = "directqueue")})
public void reveiceMessage(String msg, Channel channel, Message message) {
System.out.println(msg);
System.out.println(channel);
System.out.println(message);
}
}
最后
以上就是诚心大雁为你收集整理的SpringBoot 整合 RabbitMQ 使用direct交换机的全部内容,希望文章能够帮你解决SpringBoot 整合 RabbitMQ 使用direct交换机所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复