实战JBossMQ JMS集群

ActiveMQ和JBossMQ的编程比较 而如果对于消息中间件的功能和可扩展性有更高的要求,或者项目不依赖于特定的应用服务器,那么ActiveMQ可能更加适合。本文将从编程角度比较ActiveMQ和JBossMQ,探讨它们的特点和使用方法,并提供相应的源代码示例。ActiveMQ是Apache基金会的一个开源消息代理,它完全支持Java Message Service (JMS) 规范,并提供了可靠的消息传递、发布/订阅、点对点等消息模型。在编程模型上,ActiveMQ和JBossMQ都遵循JMS规范,使用类似的API进行消息的发送和接收。 阅读详情

作者:JBossWeek http://blog.youkuaiyun.com/JBossweek email:jbossweek AT gmail.com

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息

一、环境

数据库服务器:Oracle 9i2

操作系统:Windows XP SP2

JBoss版本:4.2.2

JDK:Sun 1.5.0.13

网络配置:同一机器的一个网卡上绑定两个ip地址192.168.1.18和192.168.1.147

二、配置

1. 配置消息和事务日志持久保存的数据源,从JBoss安装位置的docs/examples/jca目录下拷贝到server/all/deploy目录下,并修改其中的连接配置,这里使用OracleDS作为持久保存的数据源。注意:别忘了把Oracle的jdbc驱动程序拷贝到server/all/lib目录下。

2. 修改DestinationManager配置,删除server/all/deploy-hasingleton/jms目录下的hsqldb-jdbc2-service.xml文件,拷贝docs/examples/jms目录下的oracle-jdbc2-service.xml到server/all/deploy-hasingleton目录下,使用OracleDS作为DestinationManager的数据源。

3. 修改StateManager配置,将其中的数据源配置由

jboss.jca:service=DataSourceBinding,name=DefaultDS

 

改为:

jboss.jca:service=DataSourceBinding,name=OracleDS

4. 配置测试的Topic,在server/all/deploy-hasingleton/jms目录下新建一个名为jbossweek-jms-service.xml文件,内容如下:

name="jboss.mq.destination:service=Topic,name=jbossweekTopic">

jboss.mq:service=DestinationManager

 

5. 创建node1的服务器配置,将server/all目录复制一份改名为node1

6. 配置完成。

三、验证

1. 分别以run –c all –b192.168.1.17和run –c node1 –b192.168.1.148先后启动all和node1配置。此时192.168.1.17为主节点,浏览http://192.168.1.17:8080/jmx-console/。打开JNDIView可以看到jbossweekTopic的JNDI名称。此时192.168.1.17为主节点,浏览http://192.168.1.148:8080/jmx-console/。打开JNDIView就会发现没有jbossweekTopic的JNDI名称。

2. 关闭192.168.1.17上的all服务器,此时在192.168.1.148上的node服务器的控制台上会出现如下信息:

13:11:13,921 INFO [TreeCache] viewAccepted(): [192.168.1.17:2292|2] [192.168.1.

148:2327]

13:11:14,015 INFO [TreeCache] viewAccepted(): [192.168.1.17:2288|2] [192.168.1.

148:2321]

13:11:14,218 INFO [DefaultPartition] New cluster view for partition DefaultPart

ition (id: 2, delta: -1) : [192.168.1.148:1099]

13:11:14,218 INFO [DefaultPartition] I am (192.168.1.148:1099) received members

hipChanged event:

13:11:14,218 INFO [DefaultPartition] Dead members: 1 ([192.168.1.17:1099])

13:11:14,218 INFO [DefaultPartition] New Members : 0 ([])

13:11:14,218 INFO [DefaultPartition] All Members : 1 ([192.168.1.148:1099])

13:11:14,453 INFO [TreeCache] viewAccepted(): [192.168.1.17:2279|2] [192.168.1.

148:2306]

13:11:16,218 INFO [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, warUrl=.../

deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/

13:11:17,406 INFO [jbossweekTopic] Bound to JNDI name: topic/jbossweekTopic

13:11:17,453 INFO [A] Bound to JNDI name: queue/A

13:11:17,453 INFO [B] Bound to JNDI name: queue/B

13:11:17,468 INFO [C] Bound to JNDI name: queue/C

13:11:17,468 INFO [D] Bound to JNDI name: queue/D

13:11:17,468 INFO [ex] Bound to JNDI name: queue/ex

13:11:17,484 INFO [testTopic] Bound to JNDI name: topic/testTopic

13:11:17,500 INFO [securedTopic] Bound to JNDI name: topic/securedTopic

13:11:17,500 INFO [testDurableTopic] Bound to JNDI name: topic/testDurableTopic

13:11:17,500 INFO [testQueue] Bound to JNDI name: queue/testQueue

13:11:17,562 INFO [UILServerILService] JBossMQ UIL service available at : /192.

168.1.148:8093

13:11:17,609 INFO [DLQ] Bound to JNDI name: queue/DLQ

3. JMS集群的主节点自动切换到192.168.1.148上的node1节点,浏览http://192.168.1.148:8080/jmx-console/。打开JNDIView就会找到jbossweekTopic的JNDI名称。

RV1126B SDK移植实战:从DDR配置到USB烧写全解析 本文详细解析了RV1126B SDK移植的核心实战流程,重点攻克了DDR初始化失败与USB烧写两大难题。文章从理解启动流程入手,提供了DDR配置错误的排查步骤、SDK编译配置要点,并深入讲解了USB烧写的完整操作与常见问题解决方案,旨在帮助开发者高效完成系统移植与稳定运行。 阅读详情

相关推荐

Win10 Rational Rose 安装教程

在此教程中我们需要四个文件,点此下载[提取码:ig33] 其中第一个为2007的安装包,第二个为破解文件 前言 很多小伙伴反应说会出现几天后就到期的问题,包括我也出现了该问题,如果你已在其他地方安装好了文件且破解成功,且但几天后到期,如果可以使用更改时间的方式打开,那么可以跳过接下来的教程,直接看第三节,我们采用批处理的形式一键完成从修改时间到打开最后改回来的方法解决此问题 一、安装软件 解压缩两个安装包,进入 Rational Rose文件夹 选择setup.exe开始安装 按照图示依次点击

CoderJiang 2万+

消息中间件RabbitMQ学习笔记---JMS规范简介

消息中间件RabbitMQ学习笔记—JMS规范和AMQP协议 1.JMS经典模式详解 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM,Message oriented Middleware)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 与具体平台无关的API,绝大多数MOM提供商都支持。 它类似于JDBC(Java Database Connectivity)。 2.JMS消息介绍 消息是JM

qq_39314972的博客 899

Oracle 19c RAC安装踩坑实录:OpenSSH 8.x版本与OUI的“兼容性战争”及一劳永逸的解决思路

本文深入解析Oracle 19c RAC在Linux8环境中部署时遇到的OpenSSH 8.x版本兼容性问题,特别是[INS-06006]错误的根源与解决方案。从协议层分析冲突本质,提供SCP包装器技术、官方补丁应用指南及现代化部署体系构建三种解决方案,帮助企业高效完成RAC安装并规避类似问题。

weixin_42648844的博客 456

什么是MQ?为什么要用MQ?MQ分类、MQ的选择

一、什么是MQ? MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。 二、为什么要用MQ 1、流量消峰 举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我...

花&败 1万+

Ubuntu 26.04 本地安装 GitLab CE 完整教程(非 Docker 方式)

本文详细介绍了在Ubuntu 26.04系统上通过Omnibus包安装GitLab CE的完整流程。主要内容包括:环境准备(系统要求、依赖安装)、配置清华镜像源、执行安装命令、修改配置文件、服务管理命令以及常见问题解决方法。文章特别强调了内存要求(建议4GB以上)、首次登录密码获取、HTTPS安全配置等关键点,并提供了性能优化建议和安全设置指导。相比Docker方式,Omnibus安装具有性能更好、管理方便等优势,适合需要私有化部署GitLab的场景。

1369

SigFit实战:从FEA到光学仿真的热力耦合分析全流程解析

在光机系统与芯片封装等精密工程领域,热与力的耦合效应是影响产品性能与可靠性的核心物理问题。有限元分析(FEA)是预测结构在热、力载荷下变形与应力的基础工具,但其结果通常无法直接用于评估光学性能。这需要一座桥梁,将物理场数据转化为光学设计语言。其核心原理在于数据映射与面形表征技术,例如通过泽尼克多项式拟合,将离散的节点位移分解为离焦、像散等标准光学像差。这项技术的工程价值在于,它实现了多物理场仿真的闭环,使工程师能在设计阶段精准预测热变形或应力对波前误差、调制传递函数等关键光学指标的影响。其典型应用场景包括高

weixin_28630185的博客 334

【RabbitMQ】MQ的基本概念、RabbitMQ简介及安装

本文涉及MQ的基本概念、RabbitMQ简介、RabbitMQ的安装等内容

十八岁讨厌编程的博客 2万+

ArduPilot代码解析之四 — 姿态和位置控制

ArduPilot采用级联控制架构实现飞行器的姿态和位置管理。该系统通过位置→速度→加速度→姿态→角速率→电机指令的逐级转换,将高级指令转化为底层执行信号。位置控制采用三维独立控制,水平轴与垂直轴分别处理;姿态控制通过角度误差→角速率→电机输出的两层级联实现。系统支持多种输入模式,并内置运动学整形功能确保轨迹平滑。不同飞行器类型(多旋翼、直升机、潜艇等)有专门的调参方案,通过调整PID参数、加速度限制等实现最优控制性能。该架构兼顾控制精度与飞行稳定性,适用于各类自主飞行场景。

rainercool的专栏 823

MQ的概念和RabbitMQ知识点(无代码)

MQ全称是MessageQueue(消息队列),是保存消息在传输过程中的一种容器,既是存储消息的一种中间件。多是应用在分布式系统中进行通信的第三方中间件,如下图所示,发送方成为生产者,接收方称为消费者。............

weixin_65598890的博客 1万+

Python + NX二次开发,如何配置Python的第三方库(包)?

地球人都知道python有强大的第三方库,可以各类骚操作,包括但不限于人工智能模块。在使用Python进行NX二次开发时,如果能够用得上这些第三方包,那将大大提高效率。本文详述了如何配置,实践证明:可行!

温良 1267

EXCEL VBA从入门到精通 第一章:VBA入门

在VBA中,需要使用关键字Dim来定义一个变量,后面跟上变量名和变量的数据类型。例如,下面的代码定义了一个整型变量x和一个字符串变量name在VBA中,使用关键字Const来定义常量,后面跟上常量名和常量的值。例如,下面的代码定义了一个整型常量MAX_NUM和一个字符串常量MESSAGE需要注意的是,常量一旦被定义,其值就不能被改变。

1万+

【MQ】大白话告诉你什么是MQ,没有比这还详细还易懂的文章了吧,以RabbitMQ为例,从小白到大神

RabbitMQ基于AMQP协议,Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息中间件设计的。基于这个协议的客户端和消息中间件可以传递消息,并且不会因为客户端或中间件产品的不同所首先,也不会受到不同开发语言的限制。比如用java、php、.net都可以使用消息队列,并且只要支持AMQP这个协议,不论什么客户端,都可以相互传输消息。而且甚至与你只要遵循amqp协议,自己也能开发一套消息队列产品也没问题。

qq_50446805的博客 6938

10款AI工具赋能虚拟展厅设计:架构师效率提升90%的秘密武器

2020年全球疫情成为数字转型的催化剂,虚拟展厅从"可选项"迅速转变为"必需品"。根据Gartner最新报告,到2025年,超过70%的企业将采用虚拟展厅作为客户体验和产品展示的核心渠道。这一转变不仅是应急措施,更是商业模式的永久性革新。虚拟展厅突破了物理空间的限制——一个精心设计的虚拟展厅可以同时接待来自全球各地的访客,无需考虑场地容量;展品可以以数字形式永久保存,避免了物流和损耗问题;数据分析功能可以精确追踪每位访客的行为轨迹,提供前所未有的洞察。数据透视。

AI 领航者的博客 1573

JMS消息集群

JMS集群的意义在于提升系统在处理消息时的并发能力,建立这样的集群,有三个步骤:1.配置JMS消息持久化所使用的数据库2.配置分布式的jndi环境3.配置分布式JMS集群在JBoss集群中,系统采用hibernate的方式来保存消息,所以能够兼容hibernate支持的所有数据库。JBoss默认采用 hsql,在我们的例子中,将使用oracle 9.2。首先需要配置连接到数据库的jndi数据源

hey_a_hao的专栏 3950

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

STM32F407中文手册

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

JBoss 4.0.2集群指南(二)----建立JMS集群服务

JBoss 4.0.2集群指南(二)建立JMS集群服务bromon原创 请尊重版权  本问讲解如何在jboss 4.0.2中建立jms消息集群服务器,本文以《jboss 4.0.2集群指南》为基础,请参照阅读。(http://blog.yam.com/bromon/archives/454467.html)  Jms集群的意义在于提升系统在处理消息时的并发能力,建立这样的集群,有三个步骤:1、 配

Sometimes Java 2222

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ActiveMQ VS jBossMQ的选型讨论,给点建议!

最近,开始引入jms来为公司整体应用集成进行技术预演。 从目前流行的开源jms框架中,看中了ActiveMQ和jBossMQ两款。由于还在选型阶段,所以谈不上对这两款jms有啥深入认识,之所以选他们有以下方面考虑。 1.并发性能。公司后期的业务需求接近4000并发/S; 2.稳定性。7×24的可靠,最少也要7×20 3.支持集群。需要集群技术提供负载均衡,横向扩展以及多机备份(防止...

linliangyi2006的专栏 183

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[转载]JBoss 4.0.2集群指南 建立JMS集群服务(图)

JBoss 4.0.2集群指南 建立JMS集群服务(图)Jms集群的意义在于提升系统在处理消息时的并发能力,建立这样的集群,有三个步骤:    1、  配置jms消息持久化所使用的数据库    2、  配置分布式的jndi环境 ...

congji3817的博客 164

MQ、JMS以及ActiveMQ

MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要

Eliot 1万+

JBoss 4.0.2集群指南(二)-建立JMS集群

JBoss 4.0.2集群指南(二)-建立JMS集群。Jms集群的意义在于提升系统在处理消息时的并发能力,建立这样的集群,有三个步骤: 1、 配置jms消息持久化所使用的数据库 2、 配置分布式的jndi环境 3、 配置分布式jms 在jboss 4.0.2中,系统采用hibernate的方式来保存消息,所以能够兼容hibernate支持的所有数据库。Jboss默认采用hsql

在水一方 883

ActiveMQ VS jBossMQ的选型讨论...

http://linliangyi2007.iteye.com/blog/316997 最近,开始引入jms来为公司整体应用集成进行技术预演。  从目前流行的开源jms框架中,看中了ActiveMQ和jBossMQ两款。由于还在选型阶段,所以谈不上对这两款jms有啥深入认识,之所以选他们有以下方面考虑。  1.并发性能。公司后期的业务需求接近4000并发/

Jaylon Wang的专栏 471

Java中间件JMS(一)之ActiveMQ入门

1.ActiveMQ概述 企业消息软件从80年代起就存在,它不只是一种应用间消息传递风格,也是一种集成风格。因此,消息传递可以满足应用间的通知和互相操作。但是开源的解决方案是到最近10年才出现的。Apache ActiveMQ就是其中一种。它使应用间能以异步,松耦合方式交流。ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。 ‍ ActiveMQ是Apache软件基金下

dwc_fly的专栏 1万+

ActiveMQ学习(一)--JMS及ActiveMQ

由于项目中有用ActiveMQ,所以记录下学习的过程。    讲道理,先来聊下JMS级ActiveMQ到底是个什么鬼。JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。

Frankenstein的博客 943

JMS(Jboss Messaging)的一点使用心得(一)环境配置

最近在一个项目用到了JMS,由于是初次使用,碰到了很多问题;但是一步步走来,现在总算比较稳定了。以下是一点使用心得,赶紧写下来,免得以后连自己都忘记了!<v:shapetypeid="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"path="m@4@5l@4@11@9@11@9@5xe" filled=

Free-从心开始 4665

JMS、MQ及ActiveMQ的关系

一、JMS定义:JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。简介:JMS是一种与厂商无关的 API,用来访问消息收发服务(消息中间件)。

根号三 3252

(转载)MQ、JMS以及ActiveMQ 关系的理解

一、JMS简介 JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进 行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数消息中间件(MOM)提供商都对JMS提供支持。 JMS(Java Messaging Service)是Java平台上有关

小仓库 556

JTangMQ的现在和未来

    原本打算今天只是想写写JTangMQ接下来的改造计划,正思考着,接到吴健老师打来的电话,需要我提供一些JTangMQ的相关资料,那就干脆写一下JTangMQ的目前的情况以及将来的改造思路。 消息中间件的出现大概已经快有七八的历史了(具体什么时间开始还没考证)。起初的时候,各个厂家由于没有统一的标准,也出于企业的private的目的,各个消息产品都有自己的api和架构,彼此之间并不相容。

方木空间 3552
上一篇: JBossTools实践系列:开发EJB3 EntityBean
下一篇: jBPM jPDL 3.2用户指南:第9章流程建模
JBossWeek
博客等级 码龄20年 41粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值