即时通讯-测试ActiveMQ服务器

2024-08-23 22:18

本文主要是介绍即时通讯-测试ActiveMQ服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇文章是居于前面的几篇博客,如果还不知道ActiveMQ服务器的请看:即时通讯-ActiveMQ环境搭建

基本流程

按照JMS的规范,我们首先需要获得一个JMS connection factory.,通过这个connection factory来创建connection.在这个基础之上我们再创建session, destination, producer和consumer。因此主要的几个步骤如下:1. 获得JMS connection factory. 通过我们提供特定环境的连接信息来构造factory。2. 利用factory构造JMS connection3. 启动connection4. 通过connection创建JMS session.5. 指定JMS destination.6. 创建JMS producer或者创建JMS message并提供destination.7. 创建JMS consumer或注册JMS message listener.8. 发送和接收JMS message.9. 关闭所有JMS资源,包括connection, session, producer, consumer等。

注意:测试案例使用默认的协议:OpenWire,而不是MQTT协议

1.测试点对点通讯

1.新建一个java项目:

2.导入jar:

将下面的那个activemq-all-5.14.1.jar包导入我们的java项目中。

3.新建一个生产者Sender:

Sender代码:

    /*** 1.创建连接工厂* * 2.启动连接* * 3.创建会话* * 4.创建消息发送者* * 5.创建并发送消息* * 6.关闭会话* * @author Administrator**/public class Sender {  private static final int SEND_NUMBER = 5;  public static void main(String[] args) {  String a = null;// ConnectionFactory :连接工厂,JMS 用它创建连接  ConnectionFactory connectionFactory; // Connection :JMS 客户端到JMS  // Provider 的连接  Connection connection = null; // Session: 一个发送或接收消息的线程  Session session; // Destination :消息的目的地;消息发送给谁.  Destination destination; // MessageProducer:消息发送者  MessageProducer producer; // TextMessage message;  // 构造ConnectionFactory实例对象,此处采用ActiveMq的实现jar  connectionFactory = new ActiveMQConnectionFactory(  null,  null, "tcp://localhost:61616");  try { // 构造从工厂得到连接对象  connection = connectionFactory.createConnection();  // 启动  connection.start();  String clientID = connection.getClientID();System.out.println("sender="+clientID);// 获取操作连接  session = connection.createSession(Boolean.TRUE,  Session.AUTO_ACKNOWLEDGE);  // 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置  destination = session.createQueue("FirstQueue");// 得到消息生成者【发送者】  producer = session.createProducer(destination);  // 设置不持久化,此处学习,实际根据项目决定  producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);  // 构造消息,此处写死,项目就是参数,或者方法获取  sendMessage(session, producer);  session.commit();  } catch (Exception e) {  e.printStackTrace();  } finally {  try {  if (null != connection)  connection.close();  } catch (Throwable ignore) {  }  }  }  public static void sendMessage(Session session, MessageProducer producer)  throws Exception {  for (int i = 1; i <= SEND_NUMBER; i++) {  TextMessage message = session.createTextMessage(&

这篇关于即时通讯-测试ActiveMQ服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100645

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

ActiveMQ—安装配置及使用

安装配置及使用 转自:http://blog.csdn.net/qq_21033663/article/details/52461543 (一)ActiveMQ介绍 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了