Hello World---------queue

news/2025/2/21 4:47:06/文章来源:https://www.cnblogs.com/sxubo/p/18723326
queue
  1. 引入Jar 包  activemq-all-5.15.2.jar
  2. Produce
  3. package com.city.producer;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;public class JMSProducer {//默认连接用户名private static final String USERNAME ="admin";//默认连接密码private static final String PASSWORD ="admin";//默认连接地址private static final String BROKEURL ="tcp://localhost:61616";//发送的消息数量private static final int SENDNUM = 10;public static void main(String[] args) {Connection connection= null;Session session= null;Queue queue;MessageProducer producer;TextMessage textMessage = null;ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(JMSProducer.USERNAME, JMSProducer.PASSWORD, JMSProducer.BROKEURL);try {connection = connectionFactory.createConnection();connection.start();session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);queue = session.createQueue("HelloWorld");producer = session.createProducer(queue);for (int i= 0;i<JMSProducer.SENDNUM;i++) {textMessage = session.createTextMessage("ActiveMQ 发送消息:" + i);System.out.println("发送消息:ActiveMQ 发送消息:" + i);producer.send(textMessage);}session.commit();} catch (JMSException e) {e.printStackTrace();try {session.close();connection.close();} catch (JMSException e1) {e1.printStackTrace();}}}
    }
  4. Consumer
  5. package com.city.consumer;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;public class JMSConsumer {private static final String USERNAME = "admin";//默认连接用户名private static final String PASSWORD = "admin";//默认连接密码private static final String BROKEURL = "tcp://localhost:61616";//默认连接地址public static  void  main(String [] args) {ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(JMSConsumer.USERNAME, JMSConsumer.PASSWORD, JMSConsumer.BROKEURL);Connection connection = null;Session session =null;MessageConsumer consumer;Queue queue;try {connection = connectionFactory.createConnection();connection.start();session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);queue = session.createQueue("HelloWorld");consumer = session.createConsumer(queue);while (true) {TextMessage message  = (TextMessage)consumer.receive(1000);if (message!=null) {System.out.println("接受消息:ActiveMQ 接受消息:"+message.getText());} else {break;}}} catch (JMSException e) {e.printStackTrace();try {session.close();connection.close();} catch (JMSException e1) {e1.printStackTrace();}}System.out.println("AAAAAA");}
    }
    
  6. 查看ActiveMQ ---------------http://127.0.0.1:8161/admin/
     


来自为知笔记(Wiz)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/886571.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Msmap :一个内存 WebShell 生成器

Msmap 是一个内存 WebShell 生成器。兼容各种容器、组件、编码器、WebShell/代理/杀手和管理客户端。用法 git clone git@github.com:hosch3n/msmap.git cd msmap python generator.py编辑config/environment.py # Auto Compile auto_build = True# Base64 Encode Class File b…

【一文解读】内外网文件摆渡系统详解:跨网传输与数据安全保障

在数字化时代,企业在内外网之间传输文件已经成为日常运作的一部分。然而,如何确保在不同网络环境下高效、安全地进行文件传输,成为许多企业面临的重要挑战。内外网文件摆渡系统应运而生,成为解决跨网数据传输瓶颈和保障数据安全的关键工具。本文将深入解析内外网文件摆渡系…

传统ftp无法满足高性能传输需求,如何寻找替代ftp的技术?

面对现在数据量的激增和网络安全威胁的不断演变,许多传统企业在用传统的FTP系统都面对着许多的安全和传输问题,企业面临的挑战是如何在保障数据安全的同时,提高文件传输的效率,因此原FTP系统已经逐步无法满足现代企业的需求。今天主要了解下企业需要替代FTP的原因,以及如何…

只需简单5步,Ansible脚本自动搭建AlwaysOn集群(已测试通过,可实际运行)

只需简单5步,Ansible脚本自动搭建AlwaysOn集群(已测试通过,可实际运行)之前已经介绍过这套脚本,请看下面&darr; 一分钟搞定!CentOS 7.9上用Ansible自动化部署SQL Server 2019 注意: 这套ansible脚本不支持RHEL 7.X 和CentOS7.X系统! 这套ansible脚本不支持RHEL 7.X …

[AI/计算机硬件] 部署、训练AI大模型的显卡采购指南 [转]

序截至2025年,全球主流的AI大模型满血版的参数量均已突破百亿级,算力需求正以指数级飙升。特别是 DeepSeek 公司旗下的 R1 系列模型的问世,推动了很多中小企业部署私有化模型的需求。然而,面对动辄数十万上百万元的GPU采购成本,选错一块显卡可能让企业付出高昂的试错代价。…

清华DeepSeek手册第Ⅳ版《DeepSeek﹢智灵DeepResearch 让科研像聊天一样简单》

在数字化浪潮汹涌澎湃的当下,大模型如同一颗璀璨新星,强势崛起并迅速成为科技领域的焦点。从最初的理论探索到如今在各个行业的广泛应用,大模型正以惊人的速度重塑着我们的生活与工作模式。 它的出现不仅是人工智能技术发展的重大突破,更是推动经济增长、提升社会治理效能、…

[Vite] Code Splitting Vite

Code Splitting 打包构建中的代码拆分(Code Splitting)是一种优化技术,它将应用程序的代码拆分成多个小块(chunks),并在需要时按需加载这些代码块。这种技术的目的是提高应用程序的性能和用户体验,主要有以下几个原因:减少初始加载时间 当应用程序的代码被打包成一个单…

ArrayBlockingQueue的poll方法底层原理

一、ArrayBlockingQueue的poll方法底层原理 ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个基于数组实现的有界阻塞队列。它的 poll() 方法是用于从队列中移除并返回队首元素的核心方法之一。与 take() 方法不同,poll() 方法在队列为空时不会阻塞,而是立…