jboss 不适用内置日志_适用于孩子,父母和祖父母的JBoss HornetQ –第1章

jboss 不适用内置日志

现在与HornetQ合作已经快4年了,我认为现在该分享我到目前为止所学的部分知识了。

这篇文章的主要目的不是重写官方文档 ,而是以简单的方式阐明我们在PaddyPower中最常用的概念。

什么是HornetQ

HornetQ是JMS实现。 JMS是一种面向消息的中间件API,用于以异步方式在生产者和使用者之间交换信息。

HornetQ是实现JMS API的众多框架之一。

组态

我们关心的所有HornetQ配置都在1个文件夹中。 那有多美? 该文件夹为hornetq(或在所使用的jboss版本上为hornetq.sar浸入式文件夹 ,您可以在jboss配置文件的deploy文件夹中找到它。

在此文件夹中,我们最多有7个xml配置文件。 我们真的只关心2:

  • hornetq-jms.xmlhornetq-configuration.xml
  • hornetq-jms.xml

在这里,您要为队列,主题和连接工厂定义JNDI名称。

默认情况下,所有Connection工厂,无效字母和到期队列都已配置。

您需要添加的只是您的应用程序需要使用的队列或主题。

例如:

<queue name='phaseQueueFromEngine'><entry name='/queue/phaseQueueFromEngine'/>
</queue>

条目名称是生产者和使用者用来发现队列的JNDI名称。

hornetq-configuration.xml

在这里您要定义接收器,连接器,桥和其他很酷的东西。

了解连接器和接受器

好的,这可能很棘手,所以我将尝试变得简单而必要。

HornetQ在服务器(例如JBoss)中运行或作为独立应用程序运行。

在上述任何一种情况下,HornetQ均通过与自己的服务器HornetQ服务器进行通信来工作。

为了与之通信,我们必须告诉我们如何连接以及我们接受的连接。

  • 接受者定义HornetQ服务器接受哪种连接类型。
  • 连接器定义了如何连接到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 –我们的JCG合作伙伴 Marco Castigliego的第1章》 ,位于“ 删除重复并修复不良名称”博客上。

翻译自: https://www.javacodegeeks.com/2012/11/jboss-hornetq-for-kids-parents-and-grandparents-chapter-1.html

jboss 不适用内置日志

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud微服务笔记(四)客户端负载均衡:Spring Cloud Ribbon

客户端负载均衡&#xff1a;Spring Cloud Ribbon 一、负载均衡概念 负载均衡在系统架构中是一个非常重要&#xff0c;并且是不得不去实施的内容。因为负载均衡对系统的高可用性、 网络压力的缓解和处理能力的扩容的重要手段之一。通常所说的负载均衡指的是服务端负载均衡&#…

matlab cell,fix,floor,round取整的几种方式

ceil函数的作用是朝正无穷方向取整&#xff0c;即将m/n的结果向正无穷方向取整&#xff0c;如m/n3.12&#xff0c;则ceil(m/n)的结果为4。 类似的函数有如下几个&#xff1a; fix&#xff1a;朝零方向取整&#xff0c;如fix(-1.3)-1;fix(1.3)1; floor&#xff1a;朝负无穷方…

孤儿进程与僵尸进程[总结]

1、前言 之前在看《unix环境高级编程》第八章进程时候&#xff0c;提到孤儿进程和僵尸进程&#xff0c;一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程&#xff0c;会带来什么问题&#xff0c;怎么解决&#xff0c;我只停留在概念上面&#xff0c;没有深入&a…

使用CloudForms实现云运营幸福感的3个步骤

本周宣布&#xff0c; Cloud Suite管理层的最新功能 CloudForms 4.2可供所有人使用。 产品增加了1800多种改进&#xff0c;令许多令人兴奋的新奇事物令人兴奋。 CloudForms是Cloud Suite产品的Cloud Management平台&#xff0c;使您能够跨区域联合部署它以进行集中管理操作&am…

leetcode 599. 两个列表的最小索引总和(Minimum Index Sum of Two Lists)

目录 题目描述&#xff1a;示例 1:示例 2:解法&#xff1a;题目描述&#xff1a; 假设Andy和Doris想在晚餐时选择一家餐厅&#xff0c;并且他们都有一个表示最喜爱餐厅的列表&#xff0c;每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如…

FAR,FRR,EER

FRR与FARFRR&#xff08;False Rejection Rate&#xff09;和FAR&#xff08;False Acceptance Rate&#xff09;是用来评估指纹识别算法性能的两个主要参数。FRR和FAR有时被用来评价一个指纹识别系统的性能&#xff0c;其实这并不贴切。指纹识别系统的性能除了受指纹算法的影响…

通过一段汇编,加深对寄存器ESP和EBP的理解

一直对寄存器ESP和EBP的概念总是有些混淆&#xff0c;查看定义ESP是栈顶指针&#xff0c;EBP是存取堆栈指针。还是不能很透彻理解。之后借于一段汇编代码&#xff0c;总算是对两者有个比较清晰的理解。下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码;假设执…

Redis和数据库 数据同步问题

Redis和数据库同步问题缓存充当数据库比如说Session这种访问非常频繁的数据&#xff0c;就适合采用这种方案&#xff1b;当然了&#xff0c;既然没有涉及到数据库&#xff0c;那么也就不会存在一致性问题&#xff1b;缓存充当数据库热点缓存读操作目前的读操作有个固定的套路&a…

matlab fspecial创建滤波算子

Fspecial函数用于创建预定义的滤波算子&#xff0c;其语法格式为&#xff1a;h fspecial(type) h fspecial(type,parameters,sigma)参数type制定算子类型&#xff0c;parameters指定相应的参数&#xff0c;具体格式为&#xff1a;typeaverage&#xff0c;为均值滤波&#xff…

hibernate jpa_JPA / Hibernate:基于版本的乐观并发控制

hibernate jpa本文是对Hibernate和JPA中基于版本的乐观并发控制的介绍。 这个概念已经很老了&#xff0c;上面已经写了很多东西&#xff0c;但是无论如何我都看到了它被重新发明&#xff0c;误解和滥用。 我在写它只是为了传播知识&#xff0c;并希望引起对并发控制和锁定的兴趣…

X86汇编快速入门

本文翻译自&#xff1a;http://www.cs.virginia.edu/~evans/cs216/guides/x86.html 本文描述基本的32位X86汇编语言的一个子集&#xff0c;其中涉及汇编语言的最核心部分&#xff0c;包括寄存器结构&#xff0c;数据表示&#xff0c;基本的操作指令&#xff08;包括数据传送指令…

Django(三)框架之第二篇

https://www.cnblogs.com/haiyan123/p/7717788.html 一、知识点回顾 1、MTV模型 model&#xff1a;模型&#xff0c;和数据库相关的 template&#xff1a;模板&#xff0c;存放html文件&#xff0c;模板语法&#xff08;目的是将变量如何巧妙的嵌入到HTML页面中&#xff09;。 …

使用GDB调试C库

用gdb调试程序时&#xff0c;一般的函数都可以step进去&#xff0c;可是C库函数却直接跳过了。 网上找了些资料&#xff0c;记录一下&#xff01; 1.安装C库的debug版本 [plain] view plaincopy print?sudo apt-get install libc6-dbg 安装完后&#xff0c;在/usr/lib目录下…

matlab imfilter对图像进行滤波

功能&#xff1a;对任意类型数组或多维图像进行滤波。 用法&#xff1a;B imfilter(A,H)    B imfilter(A,H,option1,option2,...)    或写作g imfilter(f, w, filtering_mode, boundary_options, size_options) 其中&#xff0c;f为输入图像&#xff0c;w为滤波掩模&…

MapStruct:将数据从一个bean传输到另一个bean

将数据从一种形式转换为另一种形式在IT行业中是一种被高度利用的概念。 MapStruct通过在编译时生成映射器实现&#xff0c;允许基于注释的Bean转换。 这样可以确保在运行时没有性能开销。 什么是MapStruct&#xff1f; MapStruct是一个代码生成器&#xff0c;它基于约定优于配…

eclipse发布rest_在Eclipse中高效运行HTTP / REST集成测试

eclipse发布rest最近&#xff0c;我有机会使用由我亲爱的Holger Staudacher编写的OSGi-JAX-RS-Connector库。 通过连接器&#xff0c;您可以通过将Path注释的类型注册为OSGi服务来轻松发布资源-实际上&#xff0c;它工作得很好。 对我来说&#xff0c;使用普通的JUnit测试编写…

gdb调试命令

本文主要参考自&#xff1a;http://www.cnblogs.com/zzx1045917067/archive/2012/12/26/2834310.html&#xff0c;进行了一点补充和编排&#xff1b;Core dump部分参考了&#xff1a;http://blog.ddup.us/?p176。 gdb是一个在UNIX环境下的命令行调试工具。 如果需要使用gdb调试…

分享一个windows下检测硬件信息的bat脚本

文件名必须以.bat结尾&#xff0c;如果出现闪退&#xff0c;请右击鼠标&#xff0c;以管理身份运行即可 echo offcolor 0atitle 硬件检测 mode con cols90sc config winmgmt start auto >nul 2<&1net start winmgmt 2>1nulsetlocal ENABLEDELAYEDEXPANSIONecho 主…

matlab imfinfo返回图像信息

语法&#xff1a; info imfinfo(filename,fmt) %输入图像名&#xff0c;图像的格式 info imfinfo(filename)%输入图像名 示例程序&#xff1a; info imfinfo(C:\test1.jpg) %返回图像信息&#xff0c;注意&#xff1a;输入必须字符串 info.Width …

Apache Camel 2.18发布–包含内容

本周发布了Apache Camel 2.18.0 。 此版本是重要版本&#xff0c;我将在此博客文章中重点介绍。 Java 8 Camel 2.18是要求Java 1.8的第一个发行版&#xff08;例如&#xff0c;容易记住的Camel 2.18 Java1.8。Camel2.17 Java 1.7&#xff09;。 我们采取了谨慎的方法&…