ActiveMQ第四弹:在HermesJMS中创建ActiveMQ Session
Hermes JMS是一个开源免费的跨平台的JMS消息监听工具。它可以很方便和各种JMS框架集成和交互,可以用来监听、发送、接收、修改、存储消息等。这篇文章将讲解HermesJMS如何集成ActiveMQ并与其交互。
ActiveMQ在通过命令行运行时会自动启动一个Web终端,默认地址是http://localhost:8161/admin,默认用户名/密码为admin/admin。通过这个web终端可以监控和操作ActiveMQ。但是这个Web终端有两个缺陷,第一是功能较弱,有些需求不能满足;第二是只有通过命令行启动ActiveMQ才会启动这个Web终端,如果是使用内置的broker,则无法使用该Web终端。而HermesJMS恰好弥补了这两个缺陷。
要想使用HermesJMS,首先要下载它。HermesJMS的官方网站是http://www.hermesjms.com/confluence/display/HJMS/Home。其源码放置在sourceforge上。目前最新版本是1.14,已经两年多没推出新版本了。下载地址:http://sourceforge.net/projects/hermesjms/files/hermesjms/1.14/。MAC系统的要下载dmg文件,其余系统可下载jar文件。
下载完成以后,要配置ActiveMQ到provider去。打开Hermes,点击create new session
按钮,然后在界面下方选中Providers tab,添加对ActiveMQ的配置。我们以ActiveMQ5.8.0版本为例。首先创建一个名为ActiveMQ5.8.0的group,然后向其添加两个jar包:activemq-all-5.8.0.jar及geronimo-j2ee-management_1.1_spec_1.0.1.jar。这两个jar包都可以在ActiveMQ安装目录下找到。
然后就可以创建一个ActiveMQ的Session了。点击Sessions tab,输入以下配置信息。
设置Plugin为ActiveMQ是为了能够自动检测当前Provider中的Queue和Topic信息。
然后启动一个ActiveMQ broker。
1 |
|
这样就可以通过hermesJMS和其进行交互了。双击左侧菜单树中的msgQueue节点,可以查看该Queue中的信息。右键点击该节点选择send message
向Queue中发送信息。
然后刷新Queue就可以看到消息已经在Queue里了。
我们也可以打开ActiveMQ的Web终端向msgQueue中发送消息。地址:http://localhost:8161/admin/queues.jsp
然后在HermesJMS中刷新即可看到新的消息。
Hermes JMS还支持将消息存储到一个JDBC数据库中,具体可以查阅官方文档。
在使用Hermes JMS的过程中可以说到处是坑,软件弹出异常的次数不少于20次。可以说这个软件在健壮性、和兼容性方面还需要增强。
ActiveMQ第四弹:在HermesJMS中创建ActiveMQ Session的更多相关文章
- ActiveMQ第三弹:在Spring中使用内置的Message Broker
在上个例子中我们演示了如何使用Spring JMS来向ActiveMQ发送消息和接收消息.但是这个例子需要先从控制台使用ActiveMQ提供的命令行功能启动一个Message Broker,然后才能运 ...
- Java中JNI的使用详解第四篇:C/C++中创建Java对象和String字符串对象及对字符串的操作方法
首先来看一下C/C++中怎么创建Java对象:在JNIEnv中有两种方法是用来创建Java对象的: 第一种方法: jobject NewObject(jclass clazz , jmethodI ...
- 数据可视化之powerBI基础(十四)Power BI中创建联动切片器
https://zhuanlan.zhihu.com/p/67564062 进行数据分析时,每个分析维度并不总是独立的,比如省份是一个维度,城市也是一个维度,而这两个维度之间是有逻辑关系的,那么在进行 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (21) -----第四章 ASP.NET MVC中使用实体框架之在页面中创建查询和使用ASP.NET URL路由过虑
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 4.2. 构建一个搜索查询 搜索数据是几乎所有应用的一个基本功能.它一般是动态的,因 ...
- 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
在mysql数据库中创建oracle scott用户的四个表及插入初始化数据 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int ...
- Kotlin 第二弹:Android 中 PDF 创建与渲染实践
这是 Kotlin 练习的的第二篇.这一篇的由来是因为刚刚在 Android 开发者官网查看 API 的时候,偶然看到了角落里面的 pdf 相关. 我仔细看看了详细文档,发现这个还蛮有意思的,关键是编 ...
- 在eclipse中创建maven webapp项目时弹出错误-解决办法
在eclipse中创建maven webapp项目时报错: Could not resolve archetype org.apache.maven.archetypes:maven-archetyp ...
- SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二: ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
随机推荐
- eclipse tomcat maven热部署
1. tomcat插件 如果是Kepler的话,已经自带了tomcat插件,如果没有,到http://www.eclipsetotale.com/tomcatPlugin.html下载安装或在线安装 ...
- js中~~的用法
~~(Math.random()*(1<<24))).toString(16) ~~的作用相当于parseInt
- java基础九[网络与线程](阅读Head First Java记录)
网络socket连接 Java API的网络功能包(java.net)已经将底层的TCP连接等都封装好了,我们只需要通过Socket对象来建立客户端和服务器的连接,然后客户端能向服务器发送请求,并接收 ...
- AndroidStudio调试APP
AndroidStudio调试APP 电脑用数据线连上手机 开启手机的开发者模式 注:通常连续狂点手机的版本号即可显示出开发者选项,然后进入菜单,勾选开发者选项.USB调试. 给程序加断点 单击调试按 ...
- [原创]Matlab之GUI生成EXE文件
近期因为项目需要,简化流程,写了一些Matlab程序,并配备上了GUI界面使其简单易用.然后问题来了,可移植性.使用Matlab生成EXE文件(可以封装很多的function),然后在一台安装有Mat ...
- c#Winform控件总结
1. C# WinForm控件.自定义控件整理(大全) (http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html) 2. c#窗体控件用 ...
- oracle中,拼接的字符串给游标赋值
直接open cur from sql;即可. 例子: create or replace procedure test(tableName varchar2) is TYPE cur_type IS ...
- python 基础理解...
class obj(object): def __getattribute__(self, *args, **kwargs): # 访问属性就会被调用 print("__getattribu ...
- UICollectionCell可移动的逻辑
- django 创建项目
django-admin startproject project-name 启动服务器 python manage.py runserver 0.0.0.0:8000 配置ALLOW_HOST