对于一个直接创建的springBoot项目工程来说,可以按照以下步骤使用rabbitmq
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-amqp</artifactId>
- </dependency>
复制代码
- 配置连接:在配置文件中配置虚拟主机、端口号、用户名、密码等信息。
- spring:
- rabbitmq:
- host: localhost
- port: 5672
- virtual-host: {你的虚拟主机}
- username: {你的用户名}
- password: {你的密码}
复制代码
- 创建生产者:导入对应依赖后,使用rabbitTemplate,并调用convertAndSend来发送消息。
- @Autowired
- private RabbitTemplate rabbitTemplate;
- public void sendMessage(String message) {
- rabbitTemplate.convertAndSend("exchangeName", "routingKey", message);
- }
复制代码 来发送消息。
- 创建消费者:使用@RabbitListener注解在消息处理方法上,指定监听的队列名称,并在方法参数中接收消息。
- @RabbitListener(queues = "queueName")
- public void receiveMessage(String message) {
- // 处理接收到的消息
- System.out.println("Received message: " + message);
- }
复制代码
- 编写配置类,使用@Bean注解在对应的方法上把方法的返回值(将队列,交换机等信息)交由spring管理。
- // 交换机名称
- public static final String ITEM_TOPIC_EXCHANGE = "item_topic_exchange";
- // 队列名称
- public static final String ITEM_QUEUE = "item_queue";
- //声明交换机
- @Bean
- public Exchange exchange(){
- return ExchangeBuilder.topicExchange(ITEM_TOPIC_EXCHANGE).durable(true).build();
- }
- //声明队列
- @Bean
- public Queue queue(){
- return QueueBuilder.durable(ITEM_QUEUE).build();
- }
- //队列绑定到交换机
- @Bean
- public Binding binding(Queue queue,Exchange exchange){
- return BindingBuilder.bind(queue).to(exchange).with("item.#").noargs();
- }
复制代码- @Autowired
- RabbitTemplate rabbitTemplate;
- @Test
- public void testSendMessage(){
- rabbitTemplate.convertAndSend(RabbitmqConfig.ITEM_TOPIC_EXCHANGE, "item.insert", "新增商品的消息~~");
- System.out.println("消息发送成功");
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |