适用于孩子,父母和祖父母的JBoss HornetQ –第1章
现在与HornetQ合作已经快4年了,我认为是时候分享我到目前为止所学知识的一部分了。
这篇文章的主要目的不是重写官方文档 ,而是以简单的方式阐明我们在PaddyPower中最常用的概念。
什么是HornetQ
HornetQ是JMS实现。 JMS是一种面向消息的中间件API,用于以异步方式在生产者和使用者之间交换信息。
HornetQ是实现JMS API的众多框架之一。
组态
我们关心的所有HornetQ配置都在1个文件夹中。 那有多美? 该文件夹为hornetq(或在您使用的jboss版本上浸入hornetq.sar) ,您可以在jboss配置文件的部署文件夹中找到它。
在此文件夹中,我们最多有7个xml配置文件。 我们真的只关心2:
- hornetq-jms.xml和hornetq-configuration.xml 。
- hornetq-jms.xml
在这里,您要为队列,主题和连接工厂定义JNDI名称。
默认情况下,所有Connection工厂,无效字母和到期队列都已配置。
您需要添加的只是您的应用程序需要使用的队列或主题。
例如:
<queue name='phaseQueueFromEngine'><entry name='/queue/phaseQueueFromEngine'/>
</queue>
条目名称是生产者和使用者用来发现队列的JNDI名称。
hornetq-configuration.xml
在这里您要定义接收器,连接器,桥和其他很酷的东西。
了解连接器和接受器
好的,这可能很棘手,所以我将尝试变得简单而必要。
HornetQ在服务器(例如JBoss)中运行或作为独立应用程序运行。
在以上任何一种情况下,HornetQ均通过与自己的服务器HornetQ服务器进行通信来工作。
为了与之通信,我们必须告诉我们如何连接以及我们接受的连接。
- 接受者定义HornetQ Server接受哪种连接类型。
- 连接器定义了如何连接到HornetQ服务器。
幸运的是,in-vm和netty仅支持2种连接器和接受器。 当生产者和使用者位于同一虚拟机中时,将使用in-vm 。
例:
<acceptor name='in-vm'><factory-class>org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory</factory-class>
</acceptor>
<connector name='in-vm'><factory-class>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</factory-class>
</connector>
当生产者和消费者居住在不同的虚拟机中时,将使用netty 。
例:
同一台机器上的生产者/消费者:
<acceptor name='netty'><factory-class>org.hornetq.integration.transports.netty.NettyAcceptorFactory</factory-class><param key='host' value='${host:localhost}'/><param key='port' value='${port:5445}'/></acceptor>
<connector name=”netty”>
<factory-class>org.hornetq.integration.transports.netty.NettyConnectorFactory</factory-class>
<param key=”host” value=”${host:localhost}”/>
<param key=”port” value=”${port:5445}”/>
</connector>
不同机器上的生产者/消费者:
消费盒
<acceptor name=”netty-external-acceptor”>
<factory-class>org.hornetq.integration.transports.netty.NettyAcceptorFactory</factory-class>
<param key=”host” value=”172.x.x.62″/>
<param key=”port” value=”5445″/>
</acceptor>
生产箱
<connector name='remote-engine-connector'><factory-class> org.hornetq.integration.transports.netty.NettyConnectorFactory</factory-class><param key='host' value='172.x.x.62'/><param key='port' value='5445'/></connector>
到目前为止,一切都很好。
配置接收器和连接器时请注意,因为要进行正确的通信,它们必须与相同的主机和端口使用相同的种类。
带netty连接器的netty接受器(相同的主机和端口)
好
带有in-vm连接器的in-vm接受器
好
带Netty连接器的in-vm接受器
坏
带Netty连接器5446的Netty接受器端口5445
坏
带有网络连接器172.xx62的网络接受器主机172.xx60
坏
了解桥梁
我广泛使用的另一个功能是桥接。
如果您有一个生产者生活在172.xx60框内,而一个消费者则生活在172.xx62框内,则需要连接它们,并在我们钟爱的配置文件hornetq-configuration.xml中配置网桥。
范例:
<bridge name=”from60to62Bridge”>
<queue-name>jms.queue.phaseQueueToEngine</queue-name>
<forwarding-address>jms.queue.phaseQueueFromInput</forwarding-address>
<reconnect-attempts>-1</reconnect-attempts>
<connector-ref connector-name=”remote-engine-connector”/>
</bridge>
是的,您可以使用连接器指定连接到其他hornetQ服务器的位置。 简单!
我希望这将阐明几个方面,并有助于更好地理解有时可怕的Hornetq配置。
即将推出.. HornetQ为孩子,父母和祖父母–第2章:地址设置的魔力
参考: JBoss HornetQ for Kids,父母和祖父母–来自我们的JCG合作伙伴 Marco Castigliego的第一章 ,位于“ 删除重复并修复不良名称”博客上。
翻译自: https://www.javacodegeeks.com/2012/11/jboss-hornetq-for-kids-parents-and-grandparents-chapter-1.html
适用于孩子,父母和祖父母的JBoss HornetQ –第1章相关推荐
- jboss 不适用内置日志_适用于孩子,父母和祖父母的JBoss HornetQ –第1章
jboss 不适用内置日志 现在与HornetQ合作已经快4年了,我认为现在该分享我到目前为止所学的部分知识了. 这篇文章的主要目的不是重写官方文档 ,而是以简单的方式阐明我们在PaddyPower中 ...
- jboss hornetq jms 用户文档
HornetQ 2.1用户手册 Putting the buzz in messaging Table of Contents 1. 法律声明 2. 前言 3. 项目信息 3.1. 软件下载 3.2. ...
- 具有Eclipse和嵌入式JBoss HornetQ Server的简单JMS 1.1生产者和使用者示例
Before going to through this post, please read my previous post at "JMS API 1.1 Producer and Co ...
- 实例中给出child-parent(孩子——父母)表,要求输出grandchild-grandparent(孙子——爷奶)表
一·需求描述: 要求从给出的数据中寻找所关心的数据,它是对原始数据所包含信息的挖掘.下面进入这个实例. 实例中给出child-parent(孩子--父母)表,要求输出grandchild-gr ...
- MapReduce:给出children-parents(孩子——父母)表,要求输出grandchild-grandparent(孙子——爷奶)表...
hadoop中使用MapReduce单表关联案例: MapReduce:给出children-parents(孩子--父母)表,要求输出grandchild-grandparent(孙子--爷奶)表. ...
- 不要打2岁内和6岁后的孩子 父母必看
一位妈妈说:"孩子经常无理取闹,到超市就要买这买那,不给买就坐在地上哭闹.到别人家去就乱翻乱动,还会到人家沙发上乱蹦,无论你怎么说,孩子都不听话.每次我都会气不打一处来,回到家就痛打一顿,但 ...
- Java孩子父母类_父母和子女复选框
Parent element Child element Child element Parent element2 Child element2 Child element2 Parent elem ...
- Java孩子父母类,@Output孩子和父母之间的沟通 . 角2(5)
我正在尝试学习角度2,并且我正在尝试使用来自我的子组件的数据在父组件中设置变量 . 基本上我在父视图中有一个子 Headers ,我希望 Headers 和一些HTML根据加载的子项进行更改 . 父组 ...
- 孩子不愿意去上学让父母揪心无奈
孩子已经两个星期没有去上学,让父母揪心无奈,对孩子也打骂过,也道歉过,不论怎么样开始说好到时间去上学,但到点了或者抓住门框就是不愿意放手,说自己害怕,说自己肚子痛,说头疼,当闹得父母没有办法,孩子就会 ...
最新文章
- pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
- 不用光盘可破解电脑系统密码
- java测试开发_测试开发系类之Java常用知识点
- 实时计算无线数据分析
- python编译2的n次方计算器_用PYTHON2做个计算器,哪位高手能用Python写出计算器的代码,需要加减乘除和退出,谢谢!...
- 腾讯云数据库三大产品线统一升级为TDSQL,这是要集中力量干大事! ​
- 顶尖黑客集结令 | GeekPwn2018上海站邀你“决战AI安全”
- Tomcat下ajax请求路径总结
- 中国AI专利数稳居第一!世界各国AI专利深度盘点
- 《项梵自述》分享我的心酸经历
- VUE中的filters过滤器2种用法
- win10 java模拟鼠标_[pc玩家]如何在Windows10中用键盘控制鼠标光标
- Robocup3D项目搭建
- 靳东神预测怎么回事?预测了什么内容
- 【读书笔记】《你有你的计划世界另有计划》——达·芬奇诅咒
- cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset
- 十一长假宅到底,Wi-Fi可能伤不起
- mp4是什么格式?如何录制mp4格式的视频?一招解决
- Salesforce资质认证 - Platform Developer I / II认证及维护考试
- 手把手教你----模拟登录百度首页
热门文章
- python参数_python参数的介绍
- python中debug有什么用途_史上最方便的Python Debug工具
- Java的值传递解析
- 递归 反转字符串_使用递归反转字符串
- solid设计原则_SOLID设计原则
- 和谐 平等_平等还是认同?
- jvm gc阻塞时长 占比_jvm进行转义分析需要多长时间? 可能比您想象的要长。
- weakreference_Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别...
- nashorn 性能_Nashorn简介
- js webapp://_Project Student:维护Webapp(只读)