当前位置: 首页 > news >正文

Docker安装ActiveMQ镜像以及通过Java生产消费activemq示例

拉取镜像

docker pull docker.io/webcenter/activemq

启动容器

docker run -d --name myactivemq -p 61616:61616 -p 8162:8161 docker.io/webcenter/activemq:latest

这样就代表启动成功了

浏览器访问

http://localhost:8162/

admin admin

开启验证

修改配置文件/opt/activemq/conf/activemq.xml

/opt/activemq/conf# vi activemq.xml

<plugins>

     <simpleAuthenticationPlugin>

        <users>

            <authenticationUser username="guest" password="guest" groups="guests"/>

            <authenticationUser username="user" password="user" groups="users"/>

            <authenticationUser username="admin" password="admin" groups="admins"/>

            <authenticationUser username="artemis" password="artemis" groups="admins"/>

        </users>

     </simpleAuthenticationPlugin>

</plugins>

修改完重启镜像即可

通过java代码生产,消费activemq

生产者

package com.activemq.demo;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

public class ActiveMQProducer {

    private static final String DEFAULT_BROKER_HOST = "tcp://localhost:61616";

    public static void main(String[] args) throws JMSException {

// 创建连接工厂

        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(DEFAULT_BROKER_HOST);

// 获取 connection

        final Connection connection = connectionFactory.createConnection("admin", "admin");

// 启动

        connection.start();

// 创建会话 session,参数第一个是事务,第二个是签收

        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

// 创建目的地,queue 或者 topic

        Queue queue = session.createQueue("testq1804");

创建消息的生产者

        MessageProducer producer = session.createProducer(queue);

// 创建消息

        for (int i = 0; i < 100000; i++) {

//        while(true){

            String message = "{\"id\":"+System.currentTimeMillis()+", \"name\":\""+i+"\"}"; //System.currentTimeMillis() + "这是一条消息" + new Date();

            TextMessage textMessage = session.createTextMessage(message);

            System.out.println(message);

// 发送消息给 mq

            producer.send(textMessage);

            try {

                Thread.sleep(500l);

            } catch (InterruptedException e) {

                e.printStackTrace();

            }

        }

    }

}

消费者

package com.activemq.demo;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.Connection;

import javax.jms.JMSException;

import javax.jms.Message;

import javax.jms.MessageConsumer;

import javax.jms.MessageListener;

import javax.jms.Queue;

import javax.jms.Session;

import javax.jms.TextMessage;

public class ActiveMQConsumer {

    public static void main(String[] args) throws Exception {

        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");

// 获取 connection

        final Connection connection = connectionFactory.createConnection("user", "user");

// 启动

        connection.start();

// 创建会话 session,参数第一个是事务,第二个是签收

        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

// 创建目的地,queue 或者 topic

        Queue queue = session.createQueue("testq1804"); // test_topic_m1

            MessageConsumer consumer = session.createConsumer(queue);

        consumer.setMessageListener(new MessageListener() {

            @Override

            public void onMessage(Message message) {

                try {

                    System.out.println("接收到消息:" + ((TextMessage)message).getText());

                } catch (JMSException e) {

                    e.printStackTrace();

                }

            }

        });

    }

}

相关文章:

Docker安装ActiveMQ镜像以及通过Java生产消费activemq示例

拉取镜像 docker pull docker.io/webcenter/activemq 启动容器 docker run -d --name myactivemq -p 61616:61616 -p 8162:8161 docker.io/webcenter/activemq:latest 这样就代表启动成功了 浏览器访问 http://localhost:8162/ admin admin 开启验证 修改配置文件/opt/ac…...

迅为RK3562开发板/核心板240PIN引脚全部引出,产品升级自如

可应用于人脸跟踪、身体跟踪、视频监控、自动语音识别(ASR)、图像分类驾驶员辅助系统(ADAS)、车牌识别、物体识别等。 iTOP-3562开发板/核心板采用瑞芯微RK3562处理器&#xff0c;内部集成了四核A53Mali G52架构&#xff0c;主频2GHZ&#xff0c;内置1TOPSNPU算力&#xff0c;R…...

C++实现顺序栈和链栈操作(实验3--作业)

顺序栈 一、主要功能 实现了顺序栈&#xff08;SqStack&#xff09;的数据结构&#xff0c;并利用该数据结构进行了栈的基本操作以及数制转换的功能。 二、数据结构定义 定义了一些常量&#xff1a; MAXSIZE表示栈的最大长度为 100。OVERFLOw表示存储失败的错误码为 -2。O…...

龙兴物联一体机:设备监测的智能先锋

龙兴物联物联网一体机的崛起 龙兴物联物联网一体机在设备监测领域占据着至关重要的地位。随着科技的不断进步和各行业对设备监测需求的日益增长&#xff0c;龙兴物联物联网一体机以其卓越的性能和广泛的适用性&#xff0c;迅速崛起并成为众多企业和机构的首选。 在当今数字化时…...

KinectDK相机SDK封装Dll出现k4abt_tracker_create()创建追踪器失败的问题

项目场景&#xff1a; KinectDK相机SDK封装Dll 问题描述 在 C 环境下&#xff0c;使用 GPU 模式&#xff08;默认&#xff09;调用 k4abt_tracker_create 函数正常工作。但是&#xff0c;在 Python 环境下&#xff0c;通过 ctypes 调用相同的 DLL&#xff0c;当使用 GPU 模式…...

Linux 命令—— ping、telnet、curl、wget(网络连接相关命令)

文章目录 网络连接相关命令pingtelnetcurlwget 网络连接相关命令 ping ping 命令是用于测试网络连接和诊断网络问题的工具。它通过向目标主机发送 ICMP&#xff08;Internet Control Message Protocol&#xff09;回显请求&#xff0c;并等待回复&#xff0c;以确定目标主机是…...

高速缓冲存储器Cache是如何工作的、主要功能、高速缓冲存储器Cache和主存有哪些区别

1、高速缓冲存储器Cache是如何工作的 高速缓冲存储器Cache的工作主要基于程序和数据访问的局部性原理&#xff0c;其工作方式可以概括为以下几点&#xff1a; 存储近期可能访问的数据和指令&#xff1a;Cache会存储CPU近期可能访问的数据和指令&#xff0c;当CPU需要访问这些…...

极简版Java敏感词检测SDK

敏感词工具 sensitive-word 基于 DFA 算法实现的高性能敏感词工具&#xff0c;开源在GitHub&#xff1a;https://github.com/houbb/sensitive-word。用于敏感词/违禁词/违法词/脏词等的识别和阻拦&#xff0c;是基于 DFA 算法实现的高性能 java 敏感词过滤工具框架。 使用场景…...

H3C路由器交换机操作系统介绍

路由器 路由器的作用 连接具有不同介质的链路连接网络或子网&#xff0c;隔离广播对数据报文执行寻路和转发交换和维护路由信息 H3C 路由器系列 CR系列核心路由器SR系列高端路由器MSR系列路由器ER系列路由器 交换机 交换机的作用 连接多个以太网物理段&#xff0c;隔离冲…...

【项目案例】-音乐播放器-Android前端实现-Java后端实现

精品专题&#xff1a; 01.C语言从不挂科到高绩点 https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482 02. SpringBoot详细教程 https://blog.csdn.ne…...

EasyX图形库的安装

前言 EasyX是一个图形库&#xff0c;可以用来做一些c/c小游戏&#xff0c;帮助学习。 一、进入EasyX官网 https://easyx.cn/ 二、点击下载EasyX 三、下载好后以管理员身份运行它 四、点击下一步 五、然后它会自动检测你的编辑器&#xff0c;用哪个就在哪个点安装 六、安装成功…...

数据结构 - 队列

队列也是一种操作受限的线性数据结构&#xff0c;与栈很相似。 01定义 栈的操作受限表现为只允许在队列的一端进行元素插入操作&#xff0c;在队列的另一端只允许删除操作。这一特性可以总结为先进先出&#xff08;First In First Out&#xff0c;简称FIFO&#xff09;。这意味…...

基于springboot美食推荐商城的设计与实现

基于springboot美食推荐商城的设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;idea 源码获取&#xff1a;https:…...

React开发一个WebSocket

export default class SocketService {static instance null;static get Instance() {if (!this.instance) {this.instance new SocketService();}return this.instance;}// 和服务端连接的socket对象ws null;// 存储回调函数callBackMapping {};// 标识是否连接成功connec…...

Oracle DECODE 丢失时间精度的原因与解决方案

在Oracle数据库中&#xff0c;DECODE 函数是一个非常实用的条件处理函数&#xff0c;通常用于替代简单的 CASE WHEN 语句。它根据给定的值列表进行匹配&#xff0c;如果匹配成功则返回相应的值。如果不匹配&#xff0c;返回一个默认值。 问题描述 SELECT DECODE(-21, -1, NU…...

如何用示波器检测次级点火系统(一)

写在最前面&#xff1a; 单看标题可能会让你觉得这篇文章的主题是关于检测线圈&#xff0c;火花塞和火花塞插头电线。但我们指的是分析燃烧室内电子的行为。目标是看燃料混合物&#xff0c;阀座&#xff0c;压缩&#xff0c;积碳和其它影响这种特性的症状。最终目的是要学会分…...

基于SpringBoot+Vue+uniapp的涪陵区特色农产品交易系统的详细设计和实现(源码+lw+部署文档+讲解等)

详细视频演示 请联系我获取更详细的视频演示 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不…...

bmp怎么转换为jpg?快速批量将bmp转换为jpg

bmp怎么转换为jpg&#xff1f;在日常的数字生活中&#xff0c;我们时常会遇到各种格式的图片文件&#xff0c;它们各自拥有不同的特点和用途。最近&#xff0c;我遇到了一个有趣的小插曲&#xff1a;我从网络上下载了一张精美的BMP格式图片&#xff0c;打算用它作为一篇报告的背…...

centos8配置java环境变量jdk8u422-b05

1. 下载 JDK 8u422-b05 首先&#xff0c;确保已经下载了 JDK 8u422-b05 的二进制文件。如果还没有下载&#xff0c;你可以去 Oracle 官方网站或者其他可信的源下载 JDK 8u422。 2. 安装 JDK 将下载的 JDK 文件解压到 /usr/local/java 目录下&#xff1a; sudo mkdir /usr/l…...

基于SSM的校园拓展活动管理系统

文未可获取一份本项目的java源码和数据库参考。 1 选题背景 校园文化是精神的载体&#xff0c;是青年成长成才的沃土&#xff0c;是一种体现校园的硬件设施、精神风貌、制度体系、办学理念以及办学特色的综合文化。文明程度高、文化气息浓、活动种类多的校园文化不仅能焕发学校…...

别再死记硬背期望公式了!用Python模拟骰子游戏,5分钟搞懂数学期望的底层逻辑

用Python玩转骰子游戏&#xff1a;5分钟可视化理解数学期望 当第一次接触概率论中的"数学期望"概念时&#xff0c;很多人会被公式中的求和符号和概率权重搞得晕头转向。但如果我们换一种方式——用Python代码模拟掷骰子游戏&#xff0c;这个抽象概念立刻会变得生动起…...

Vivado FPGA设计:基于IP核的系统级集成与高效开发实践

1. 引言&#xff1a;从“造轮子”到“搭积木”的设计范式转变如果你在数字电路设计领域摸爬滚打超过五年&#xff0c;大概率经历过从ISE到Vivado的迁移阵痛。2012年&#xff0c;当Xilinx推出Vivado时&#xff0c;很多习惯了ISE“代码驱动”工作流的老工程师都感到不适应——这个…...

嵌入式边缘AI论坛参会全攻略:从技术趋势到实战社交

1. 论坛核心价值与参会目标拆解“6天倒计时&#xff01;”这个标题&#xff0c;精准地抓住了所有技术从业者在面对一个高价值行业活动时&#xff0c;那种既兴奋又略带紧迫感的共同心理。这不仅仅是一个简单的会议通知&#xff0c;它更像是一份来自同行的“战前简报”。对于嵌入…...

OpenPLC Editor:零成本开启工业自动化编程的完整解决方案

OpenPLC Editor&#xff1a;零成本开启工业自动化编程的完整解决方案 【免费下载链接】OpenPLC_Editor 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPLC_Editor 在工业自动化领域&#xff0c;PLC编程一直被视为专业工程师的专属技能&#xff0c;高昂的商业软件许…...

如何免费使用AI图像放大神器Upscayl?一文掌握所有技巧

如何免费使用AI图像放大神器Upscayl&#xff1f;一文掌握所有技巧 【免费下载链接】upscayl &#x1f199; Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl 想要将模糊…...

基于CW32F030的BLDC电机控制:从国产MCU到完整评估方案

1. 项目概述&#xff1a;从一颗国产MCU到一套完整的BLDC评估方案最近在做一个直流无刷电机&#xff08;BLDC&#xff09;的小项目&#xff0c;选型时发现了一款挺有意思的国产MCU——武汉芯源的CW32F030C8T6&#xff0c;以及围绕它打造的一套完整的评估套件CW32_BLCD_EVA。对于…...

体验 Taotoken 官方价折扣活动对个人开发者月度支出的实际影响

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 体验 Taotoken 官方价折扣活动对个人开发者月度支出的实际影响 作为一名独立开发者&#xff0c;我日常需要调用多种大模型 API 来完…...

2026年照片去水印免费软件App推荐|主流工具优缺点对比与实测评价

处理照片时遇到水印&#xff0c;通常有两条路&#xff1a;要么花钱买专业软件&#xff0c;要么找个免费方案凑合着用。但2026年的现在&#xff0c;免费去水印工具已经相当能打了。无论是手机App、桌面软件还是在线网站&#xff0c;都能找到效果不错的免费选项。本文将详细介绍目…...

JDK 17 + Hadoop 3.3.5 + Spark 3.3.2 集群搭建保姆级避坑指南(CentOS 8.5 + VMware)

JDK 17 Hadoop 3.3.5 Spark 3.3.2 集群搭建实战避坑手册 当你第一次尝试在本地环境搭建大数据集群时&#xff0c;是否曾被各种兼容性问题、配置错误和莫名其妙的报错折磨得焦头烂额&#xff1f;本文将带你完整走一遍从零开始搭建基于JDK 17、Hadoop 3.3.5和Spark 3.3.2的集群…...

Spring Boot 面试题详解:Spring Boot 核心原理、自动配置、启动流程、IoC 容器、Web 请求链路、事务、Actuator 与 JVM 线上排障全攻略

1. Spring Boot 到底是什么&#xff1f;为什么 Java 后端几乎绕不开它&#xff1f;1.1 它不是新语言&#xff0c;也不是替代 Spring&#xff0c;而是 Spring 应用的工程化脚手架Spring Boot 的出现&#xff0c;本质上是为了解决传统 Spring 项目启动慢、配置多、依赖难配、上线…...