当前位置: 首页 > 工具软件 > JBoss A-MQ > 使用案例 >

在同一台机器上启动多个JBoss A-MQ JVM

扈翰
2023-12-01

因此,我最近没有写过博客-只是很忙。 但是,我新年的决心是写一些博客,分享一些我经常遇到的事情,即使这些简单的事情可能会帮助一些人。

因此,对于本条目,我将展示一种在单台机器上启动多个JBoss A-MQ实例的快速方法。 之所以出现这个问题,是因为与普通的旧社区ActiveMQ相比,JBoss A-MQ包含了更多的“企业”现成功能。 JBoss A-MQ是ActiveMQ的生产就绪,强化版本,它包装在Apache Karaf中,并带有其他一些功能,例如HawtIO控制台(等等)。

当人们试图在实验室或开发环境中模拟更复杂的部署方案时,会发生什么情况,他们可能无法访问多个VM或计算机来尝试进行完整的实际部署。 因此,他们可能想在一个盒子上安装多个代理。 这很简单,您要做的就是确保默认端口不冲突。 注意:这不打算用于生产部署!!! 不要将这种方式部署到生产中!!

您可能会变得很古怪,并使用Karaf管理员命令自定义每个其他的A-MQ / Karaf JVM,但是如果您只是想让某样东西工作并且想了解端口冲突可能在哪里,请查看以下内容:

下载JBoss A-MQ

转到Red Hat支持门户 (或JBoss.org )并下载要使用的JBoss A-MQ的副本。 请注意,无论从哪个网站下载,这些位都是相同的,但是您需要有效的订阅才能在任何共享环境中使用(开发笔记本电脑除外)。

在本练习中,我们使用的是JBoss A-MQ 6.1(文件名jboss-a-mq-6.1.0.redhat-379.zip)

安装到两个位置

如果我们要拥有两个单独的JBoss A-MQ经纪人,让我们从拆解到两个单独的位置开始:

~> unzip jboss-a-mq-6.1.0.redhat-379.zip -d amq01
~> unzip jboss-a-mq-6.1.0.redhat-379.zip -d amq02

现在,在每个安装路径(例如./amq01/jboss-a-mq-6.1.0.redhat-379)中,我们将其称为代理的BASE目录,在$ BASE / etc文件夹中找到名称为users.properties 。 取消注释该文件的最后一行,以便我们有一个admin用户。

更改端口

我们需要做的最后一步是更改安装中amq02的端口,以免它们冲突。

我们需要触摸三个文件,它们是容器中运行的服务的配置PID。

  • etc/org.apache.karaf.management.cfg

在此文件中,编辑以下属性:

rmiRegistryPort = 1098  #default is 1099
rmiServerPort = 44445   #default is 44444

注意,这些是更改后的值。 您可以将它们更改为任何您想要的。

  • etc/org.apache.karaf.shell.cfg

在此文件中,编辑以下属性:

sshPort = 8102  #default is 8101
  • etc/system.properties

最后,在此文件中,编辑:

org.osgi.service.http.port=8182   #default is 8181
activemq.port = 61617   #default is 61616
activemq.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1098/karaf-${karaf.name}

启动您的经纪人

使用$ BASE / bin / amq脚本启动代理,您应该有两个正在运行的代理,端口上没有冲突。

翻译自: https://www.javacodegeeks.com/2015/01/starting-multiple-jboss-a-mq-jvms-on-the-same-machine.html

 类似资料: