springboot整合activemq完整示例

项目:

maven里添加依赖:

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

生产者:

@Service("producer")
public class Producer {
    @Autowired
    JmsMessagingTemplate jmsTemplate;

    /**
     * 发送消息
     *
     * @param destination 发送到的队列名
     * @param message     消息体
     */
    public void sendMessage(Destination destination, final String message) {
        jmsTemplate.convertAndSend(destination, message);
    }

消费者:可选两种模式

1.已知queue名:

@JmsListener(destination = "")    //queue名
public void receiveQueue(String txt) {
    System.out.println("receive:" + txt);
}

@JmsListener(destination = "test.queue")
@SendTo("")    //转发
public String receiveQueue2(String txt) {
    System.out.println("receive2:" + txt);
    return "return message" + txt;
}

2.不知名:

@Component
public class QueueMessageListner implements MessageListener {
    @Override
    public void onMessage(Message message) {
        try {
            ActiveMQDestination queues = (ActiveMQDestination) message.getJMSDestination();
            if (queues.getPhysicalName().equals("q1")) {    //“q1”为queue名
                System.out.println(message.toString());
            }
            System.out.println(message.toString());
        } catch (JMSException e) {
                e.printStackTrace();
        }
    }
}

然后,本机上可以下载安装activemq:

安装包可以网上下,然后解压到本地,找到conf-activemq.xml,修改这部分:

        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

        </transportConnectors>

将0.0.0.0---->127.0.0.1

启动:


找到本机匹配位数的目录,启动activemq.bat脚本

springboot对应的配置文件添加:

#activemq

spring.activemq.broker-url=tcp://127.0.0.1:61616

然后,写两个类,模拟生产和消费。

进页面:

默认账户和密码都是admin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值