SpringBoot整合ActiveMQ收发消息Demo(附源码)

SpringBoot整合ActiveMQ收发消息

模块一:发送消息

步骤一:
①安装activemq:下载地址:http://activemq.apache.org/components/classic/download/
②启动activemq:在activemq的安装路径bin文件夹下运行activemq.bat
③验证Actviemq是否启动成功:localhost:8161/admin 使用用户名admin和密码admin登陆activemq控台
步骤二:
编写程序: ①在程序中引入activemq依赖:

 >
   >org.springframework.boot>
   >spring-boot-starter-activemq>
  >

②编写配置文件

spring:
  activemq:
    broker-url: tcp://127.0.0.1:61616  
    user: admin   //avtivemq用户名
    password: admin  //密码
queue: kyriemq  //队列名称

server:
  port: 8888
③编写配置类 (实例化一个队列)
@Component
public class ActivemqConfig {

    @Value(value = "${queue}")
    private String queue;

    @Bean
    public Queue getQueue() {
        return  new ActiveMQQueue(queue);
    }
}

④编写消息生产者:producter

@Service
public class ProuductService {

   @Autowired
   private JmsMessagingTemplate jmsMessagingTemplate;

   @Value("${queue}")
   private String queueName;

   public void sendQueue(String msg){
       jmsMessagingTemplate.convertAndSend(queueName,msg);

   }
}

⑤ 发送消息控制层编写

 @Autowired
    private ProuductService prouduct;


    @GetMapping("/send")
    public void sendQueue(String msg){
        prouduct.sendQueue(msg);
    }

模块二:接受并消费消息
步骤一:引入依赖,同上(省)
步骤二:编写配置文件,同上(省)
步骤三:编写消息监听器Listener,接受到消息并完成消费

 @JmsListener(destination = "${queue}")
    @Override
    public void onMessage(Message message) {
        log.info("-----------消息接收器监听器----------");
        TextMessage textMessage = (TextMessage) message;
        try {
            String text = textMessage.getText();
            log.info("监听器接受到的消息为:"+text);
        } catch (JMSException e) {
            e.printStackTrace();
        }

    }

Demo源码地址

你可能感兴趣的:(个人笔记)