springboot之activemq安装与实践

环境:腾讯云centos7 

注意:activemq安装插件,可能会报错。本人是主机名的问题,所以修改了主机名。

vim /etc/hosts

vim /etc/hostname

修改这两个文件,并重启主机,然后再运行activemq,没有问题了。

1、下载安装包

https://activemq.apache.org/components/classic/download/

2、解压安装包

tar -xzvf apache-activemq-5.15.9-bin.tar.gz

3、安装

mkdir /usr/java/

mv apache-activemq-5.15.9 /usr/java/activemq5.15

cd /usr/java/activemq5.15

4、运行mq

activemq    start 
            stop
           status

5、验证是否启动成功

ss -tnalp 查看端口,如果有61616,则运行成功。

6、进入管理界面查看

http://ip:8161   初始密码:admin/admin

7、设置管理界面密码

    a) 在 mq安装目录/conf/jetty.xml中,添加权限控制。
        <bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
            <property name="name" value="BASIC" />
            <property name="roles" value="admin" />
            <property name="authenticate" value="<span style="color:#ff0000;">true</span>" />
        </bean>

    b)在 mq安装目录/conf/jetty-realm.properties中,添加用户
        admin:password,admin

完毕!

 #########springboot实践##########

1、pom.xml添加依赖

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
  </dependency>

2、yml文件添加服务ip

#默认使用配置  #activemq
spring:
  activemq:
    broker-url: tcp://132.232.44.82:61616

3、ActiveProducer.java

package com.cn.commodity.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;

@RestController
public class ActiveProducer {
    //注入jsmtemplate
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;

    @RequestMapping("/sendMsg")
    public String sendMsg(String msg) {
        jmsMessagingTemplate.convertAndSend("my_msg", msg);
        System.out.println("msg发送成功:"+msg);
        return "正发送邮件以及短信验证码,请注意查收";
    }

    @RequestMapping("/sendMap")
    public String sendMap() {
        Map map = new HashMap();
        map.put("mobile", "13888888888");
        map.put("content", "王总喜提兰博基尼");
        jmsMessagingTemplate.convertAndSend("my_map", map);
        System.out.println("map发送成功: "+map);
        return "map发送成功";
    }
}

4、ActiveConsumer.java

package com.cn.commodity.controller;

import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
import java.util.Map;

@Component
public class ActiveConsumer {

    @JmsListener(destination = "my_msg")
    public void readMsg(String text) {
        if(text!=null){
            System.out.println("接收到消息:" + text);
        }
    }

    @JmsListener(destination = "my_map")
    public void readMap(Map map) {
        System.out.println(map);
    }
}

启动测试 ,完毕!

 

posted @ 2019-08-06 16:17  小白啊小白,Fighting  阅读(440)  评论(1编辑  收藏  举报