ActiveMQ入门demo

activeMQ示例 activeMQ demo,java分布式技术 本教程旨在帮助activeMQ初学者入门,通过本示例,能完全理解activeMQ的基本概念,为分布式应用打下基础。 本示例中,使用maven管理,完美解决各种依赖问题,不需要自行配置,导入项目等待eclipse自行下载jar包后即可; 请将本maven项目引入你自己的maven项目中(在你自己的pom.xml文件中配置这个项目的gourp和id以及版本号),通过模块化导入,注意把spring-activeMQ.xml加载到容器当中,运行tomcat启动项目,即可看到效果。 立即下载

微信公众号:Java患者

ActiveMQ 简介

ActiveMQ是基于 Java 中的 JMS 消息服务规范实现的一个消息中间件,通过中间件我们可以实现异步调用、流量削峰等。

ActiveMQ安装

  1. 将 apache-activemq-5.15.11-bin.tar.gz 上传到服务器

  2. 解压 tar -zxvf apache-activemq-5.15.11-bin.tar.gz
    在这里插入图片描述

  3. 启动

进到bin目录

  ./activeMQ start 
  ./activeMQ status

查看状态后 ActiveMQ not running, Active没启动.
在这里插入图片描述

  1. 输出日志到控制台,看错误信息
./activemq console

在这里插入图片描述
在报错信息中我们看到了hostname关键词,到百度查阅资料后是因为主机名中含有下划线,

hostnamectl set-hostname  Java

通过该句命令修改主机的名字为Java,然后重新执行

./activemq start

启动成功

ActiceMQ DEMO

环境

导入相关依赖

<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-all</artifactId>
    <version>5.15.9</version>
</dependency>
生产者

开启一个生产者

package com.zero.day1;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * ActiveMQ测试类 Hello World
 */
public class Demo1 {

    public static void main(String[] args) {

        Demo1.producerQuene();
    }

    public static void producerQuene (){
        try {
            // Create a ConnectionFactory 创建工厂连接对象
            ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");

            // Create a Connection 使用连接工厂创建一个连接对象
            Connection connection = connectionFactory.createConnection();
            connection.start();

            // Create a Session 创建会话session对象
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

            // create the destination (Topic or Quene) 创建目标对象(一对一or一对多)
            Destination destination = session.createQueue("TEST.FOO1");

            // Create a MessageProducer from the Session to the Topic or Quene 创建生产者对象
            MessageProducer producer = session.createProducer(destination);

            String text = "hello world";

            // create a messages 创建一个消息对象
            TextMessage message = session.createTextMessage(text);

            // tell the producer to send the message 发送消息
            producer.send(message);
			System.out.println("发送成功");			
            // clean up 关闭资源
            session.close();
            connection.close();



        } catch (Exception e) {
            System.out.println("Caught" + e);
            e.printStackTrace();

        }




    }
}

控制台
在这里插入图片描述
在这里插入图片描述
被消费者消费

 public static  void consumerQuene () {
        try {

            // create a connectionFactory 创建工厂连接对象
            ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");

            // create a connection 使用连接工厂创建一个连接对象
            Connection connection = connectionFactory.createConnection();
            connection.start();


            //create a session 创建会话session对象
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

            // create the destination(Topic or Quene) 创建目标对象(一对一or一对多)
            Destination destination = session.createQueue("TEST.FOO");

            // create a MessageConsumer from the session to the Topic or Quene 创建消费者对象
            MessageConsumer consumer = session.createConsumer(destination);

            // wait for a message 创建一个消息对象
            Message message = consumer.receive(1000);


            if (message instanceof TextMessage) {
                TextMessage textMessage = (TextMessage) message ;
                String text = textMessage.getText();

                System.out.println("Received: " + text);
            } else {
                System.out.println("Received: " + message);

            }

            consumer.close();
            session.close();
            connection.close();

        } catch (Exception e) {
            System.out.println("Caught: " + e);
            e.printStackTrace();
        }



    }

在这里插入图片描述

在这里插入图片描述

结语

小编是一枚Java Coder,业余写文章,现主营微信公众号《Java患者》,喜欢的话关注我的公众号或者加我微信我们一起学习Java
在这里插入图片描述

ActiveMQ-demo ActiveMQ-demo实例代码: /* *生产者启动程序,并发送消息给amq服务器(broker) */ public class Producer { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //加载spring配置 ApplicationContext ac = new ClassPathXmlApplicationContext("spring/applicationContext-jms-producer.xml"); //获取生产者发送消息服务接口 MessageSender messageSender = (MessageSender)ac.getBean("messageSender"); //发送文本消息 messageSender.sendManageMessage("生产者发送的消息"); } } 立即下载

相关推荐

activeMQ demo

activeMQ JMS 消息推送 Spring整合activeMQ 消息发送者 接收者

java activemq demo_ActiveMQ入门实例Demo

前面我们已经搭建和配置好了ActiveMQ,下面来看一个Demo,体验一下MQ。JMS 消息模型JMS消息服务应用程序结构支持两种模型:点对点模型,发布者/订阅者模型。(1)点对点模型(Queue)一个生产者向一个特定的队列发布消息,一个消费者从这个队列中依次读取消息。模型特点:只有一个消费者获得消息。(2)发布者/订阅者模型(Topic)0个或多个订阅者可以接受特定主题的消息。模型特点:多个消费...

weixin_30927801的博客 340

activeMQ的一个简单的demo

一个activeMQ的demo,直接导入项目就可以运行,jar以及具体实现方法,配置文件等都是齐全的!

java mq demo_java之消息队列ActiveMQ实践

消息队列的应用场景:消息队列应用场景异步处理,应用解耦,流量削锋和消息通讯四个场景异步处理:场景说明:用户注册后,需要发注册邮件和注册短信应用解耦:场景说明:用户下单后,订单系统需要通知库存系统流量削锋:应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用容易挂掉.1、用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面2、秒杀业务根据...

weixin_31841431的博客 439

activeMQjava的简单demo例子

java的开源消息队列activeMQ的学习例子demo。有详细注释,springJMS消息队列。

MATLAB演示元胞自动机算法

一、元胞自动机理论 元胞自动机与格子理论是一个非常好的模型,许多复杂的问题都可以通过它来建立模型,下面就简要介绍一下。 元胞自动机 实质上是定义在一个具有离散、有限状态的元胞组成的元胞空间上,并按照一定的局部规则,在离散的时间维度上演化的动力学系统。 元胞 元胞又可称为单元、细胞,是元胞自动机的最基本的组成部分。 元胞具有以下特点: 元胞自动机最基本的单元。 元胞有记忆贮存状态的功...

frange zone 2万+

ActiveMQ 生产者和消费者demo

生产者代码 package org.mule.util.ansyLog; import java.util.Map; import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import javax.jms.Connection; imp

java 6570

5分钟搞定kkFileView 4.4.0 Docker部署:小白也能上手的完整配置流程

本文提供了一份针对kkFileView 4.4.0版本的Docker部署完整指南。通过使用预构建的Docker镜像,即使是新手也能在5分钟内完成文件预览服务的搭建,涵盖从环境准备、镜像拉取、容器启动到服务验证的全流程,并分享了进阶配置与生产环境优化建议。

mango的博客 524

ActiveMQ(一)初步接触-编写Demo

声明 转载请注明出处! Reprint please indicate the source! http://www.hiknowledge.top/?p=86&preview=true 什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发

u011730792的专栏 555

基于Python的信用卡欺诈检测机器学习案例报告

当今时代,在线支付已成为一种高效便捷的支付方式,我们可以突破时间和空间的限制,输入我们的信用卡各项信息就可以完成在线支付。但随之而来的是这种支付方式也具备一定的风险性,我们无法辨别对方是否是恶意套取我们资金的非法分子。当信用卡信息数据泄露导致金钱失窃并最终失去客户忠诚度和公司声誉时,组织、消费者、银行和商家都会面临风险。2017 年,未经授权的信用卡操作达到了惊人的 1670 万受害者。此外,据美国联邦贸易委员会 (FTC) 报告,2017 年信用卡欺诈索赔数量比上一年高出 40%。

weixin_45673389的博客 6689

408王道考研【数据结构】思维导图(章节详细可下载xmind文件)

由于图片太多,不一一放上来了,还有部分章节【查找、排序、B树B+树等】在百度网盘,可以关注我的公众号领取【完整的图片+xmind文件】,如想要获取xmind文件的同学可以关注我的个人公众号“小柒很爱喵”,回复“数据结构导图”,可获得以上导图原图和xmind文件(可修改导图内容、查看导图隐藏的笔记与备注,即上图带杠杠的地方是我进一步助于理解的解释)。 希望对你们...

weixin_41950078的博客 7983

ActiveMQ简单demo

测试使用: 队列模式: 生产者MessageProducer: package Queues; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; /** * @ Description:用于消息的创建类 * @ Modified By: * @Version: $version$ */...

sunny潘先生的博客 302

数仓 - 促销敏感度、评论敏感度

1. 促销敏感度 步骤1. 首先按照最后一次下单时间及有无复购情况将用户分为四大群体: 近一年有购物行为且复购的用户 -- L1 (今年复购用户) 近一年有购物行为但无复购的用户 --L2 (今年一单购用户) 最后一次下单时间在1年之前且有复购的用户 --L3 (今年无购且只有一单用户) 最后一次下单时间在1年之前但无复购的用户 -- L4 (今年无购多单用户) 步骤2. 每一类用户群再根据优惠订单占比、每单优惠金额占比的平均值、优惠金额这三个指标进行k-means聚类,分为: 非常敏感 -

weixin_41332009的博客 1898

ActiveMQ的入门实例demo

1.下载ActiveMQ 下载:http://www.apache.org/dyn/closer.cgi?path=/activemq/5.13.0/apache-activemq-5.13.0-bin.zip 2.运行ActiveMQ 解压缩apache-activemq-5.13.0-bin.zip,然后双击apache-activemq-5.13.0\bin\win64\activem

Alex-wang的专栏 1802

告别版本冲突!在Ubuntu 20.04上优雅实现ROS Noetic与ROS2 Foxy双环境切换

本文详细介绍了在Ubuntu 20.04系统上实现ROS Noetic(ROS1)与ROS2 Foxy双环境共存与切换的完整方案。通过智能脚本设计和工作空间隔离,解决了版本冲突问题,帮助开发者高效管理不同ROS版本项目。特别适合需要同时开发ROS1和ROS2应用的机器人开发者。

weixin_28452161的博客 406

避坑指南:Vue2中使用TinyMCE5常见问题解决方案(含PowerPaste插件异常处理)

本文针对Vue2项目中集成TinyMCE 5富文本编辑器时遇到的高频疑难问题,提供了一套深度实战解决方案。内容涵盖环境搭建、资源路径配置、图片与视频上传处理、以及替代PowerPaste插件的自定义粘贴清理方案,旨在帮助开发者有效规避常见陷阱,构建稳定可靠的内容编辑功能。

weixin_29012677的博客 154

ActiveMQ的入门demo

步骤: 1 :下载ActiveMQ 官网:http://activemq.apache.org/2 :解压AcitveMQ,根据自己的操作系统选择运行win64或者win32下的activemq.bat,双击运行。注意:千万不能选择bin目录下的activemq.bat,这样会闪退。我的解压目录为:3:创建Java项目:引入jar包。注意:不能少了hawtbuf-1.11.jar这个包,这个包是不...

GoodIdea 383

手把手教你完成YOLOv11分类识别界面搭建,使用Qt6设计YOLOv11分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程

本项目结合YOLOv11分类识别算法和PySide6框架,开发了一套图形化分类识别系统。系统支持图片、视频和摄像头实时分类检测,并具备完善的用户管理功能,包括登录验证、个人信息修改等模块。最新版本新增了管理员后台管理系统,包含用户管理、权限控制等功能。系统采用MySQL数据库存储用户数据,界面设计采用QtDesigner完成,实现了高效的目标分类与友好的交互体验。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1048

ActiveMQ的介绍以及入门demo

一.浅谈JMS jms全称Java message service;在Java基础包中就有了定义,所以市面上的很多消息中间件和数据库连接相似;Java定义了接口,各个消息中间件给了具体实现;我们的消息中间件的接口就在javax.jms下面(可以自行考察); 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布...

qq_37031675的博客 1110

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

activemq入门demo

创建maven工程,pom文件如下[html] view plain copy print?<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema...

WGH100817的博客 152

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ActiveMQ入门实例Demo

前面我们已经搭建和配置好了ActiveMQ,下面来看一个Demo,体验一下MQ。 JMS 消息模型   JMS消息服务应用程序结构支持两种模型:点对点模型,发布者/订阅者模型。     (1)点对点模型(Queue)     一个生产者向一个特定的队列发布消息,一个消费者从这个队列中依次读取消息。     模型特点:只有一个消费者获得消息。   (2)发布者/订阅者模型(Topic)     0个

u010177899的博客 381

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 这一行代码到底做了什么~终篇
下一篇: 前端常见面试题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值