在JBOSS环境中配置JMS(Java Message Service)是一项关键任务,它允许分布式系统之间进行可靠的消息传递。JMS是Java平台的一部分,提供了处理消息队列、点对点通信等场景的标准化接口。在JBOSS 7及以上版本中,配置JMS通常涉及修改standalone.xml文件,这是JBOSS的核心配置文件。 首先,确保JBOSS_HOME路径下的standalone.xml文件包含了相关的JMS扩展模块。在<extensions>部分添加<extension module="org.jboss.as.messaging"/>,这样JBOSS服务器才能识别并启用JMS功能。 在<subsystem xmlns="urn:jboss:domain:messaging:1.3">标签下,配置HornetQ,它是JBOSS默认的消息中间件。设置persistence-enabled属性为true,表示启用持久化存储,以便在服务器重启后仍能保持消息状态。选择journal-type为NIO(Non-blocking I/O),这是一种高效的磁盘I/O模式,并通过指定journal-min-files来设置最小的持久化日志文件数量,这里设置为2,以保证数据的安全性。 接下来,配置connectors和acceptors,它们分别定义了服务器如何接收和发送消息。例如,<netty-connector>用于网络通信,<netty-acceptor>则对应监听端口。在这里,还设置了<netty-throughput>连接器,增加了批处理延迟和直送参数,以优化性能。 安全设置也很重要,通过<security-settings>标签,可以定义访问控制和认证策略,以保护消息传输过程中的数据安全。 在程序中,开发人员可以使用Java Naming and Directory Interface (JNDI)来动态查找和管理JMS资源,如队列或主题。@MessageDriven注解是Spring框架中的一个特性,用于声明一个Java类作为消息驱动器,它可以通过JNDI查找配置的JMS连接细节,如目的地类型(Queue)、确认模式(Auto-acknowledge)以及目的地(如java:/queue/adaption_notification)。 总结来说,要在JBOSS环境中配置JMS并利用JNDI获取连接,需要对standalone.xml文件进行细致的配置,包括HornetQ的设置、连接器和接受器的选择,以及JMS的安全策略。同时,熟悉如何在Java代码中通过JNDI引用这些配置,是实现消息驱动应用程序的关键步骤。通过这种方式,可以构建高度可扩展和可靠的分布式通信系统。
1.找到%JBOSS_HOME%\standalone\configuration\standalone.xml 文件;
2.在standalone.xml文件中,找到<extensions>标签,查看标签中是否有<extension module="org.jboss.as.messaging"/>节点,
若没有将<extension module="org.jboss.as.messaging"/>配置复制到该标签下;
3.复制下面配置信息,配置消息驱动;注:<subsystem/>节点被<profile>节点包含。
<subsystem xmlns="urn:jboss:domain:messaging:1.3">
<hornetq-server>
<persistence-enabled>true</persistence-enabled>
<journal-type>NIO</journal-type>
<journal-min-files>2</journal-min-files>
<connectors>
<netty-connector name="netty" socket-binding="messaging"/>
<netty-connector name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
</netty-connector>
<in-vm-connector name="in-vm" server-id="0"/>
</connectors>
<acceptors>
<netty-acceptor name="netty" socket-binding="messaging"/>
<netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
<param key="direct-deliver" value="false"/>
</netty-acceptor>
<in-vm-acceptor name="in-vm" server-id="0"/>
</acceptors>
下载后可阅读完整内容,剩余3页未读,立即下载
- 粉丝: 0
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦