首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从jboss 7.1连接到JMS (Apacher ServiceMix)

从jboss 7.1连接到JMS (Apacher ServiceMix)的过程可以通过以下步骤完成:

  1. 首先,确保已经在JBoss 7.1服务器上安装并配置了JMS适配器。可以参考JBoss官方文档或相关教程进行安装和配置。
  2. 在JBoss 7.1的配置文件中,需要添加JMS连接工厂和JMS队列/主题的配置。这些配置可以在standalone.xml或domain.xml文件中进行修改。以下是一个示例配置:
代码语言:xml
复制

<subsystem xmlns="urn:jboss:domain:messaging:1.4">

代码语言:txt
复制
   <hornetq-server>
代码语言:txt
复制
       <persistence-enabled>true</persistence-enabled>
代码语言:txt
复制
       <journal-file-size>102400</journal-file-size>
代码语言:txt
复制
       <journal-min-files>2</journal-min-files>
代码语言:txt
复制
       <journal-pool-files>10</journal-pool-files>
代码语言:txt
复制
       <connectors>
代码语言:txt
复制
           <netty-connector name="netty" socket-binding="messaging"/>
代码语言:txt
复制
       </connectors>
代码语言:txt
复制
       <acceptors>
代码语言:txt
复制
           <netty-acceptor name="netty" socket-binding="messaging"/>
代码语言:txt
复制
       </acceptors>
代码语言:txt
复制
       <security-settings>
代码语言:txt
复制
           <security-setting match="#">
代码语言:txt
复制
               <permission type="send" roles="guest"/>
代码语言:txt
复制
               <permission type="consume" roles="guest"/>
代码语言:txt
复制
               <permission type="createNonDurableQueue" roles="guest"/>
代码语言:txt
复制
               <permission type="deleteNonDurableQueue" roles="guest"/>
代码语言:txt
复制
           </security-setting>
代码语言:txt
复制
       </security-settings>
代码语言:txt
复制
       <address-settings>
代码语言:txt
复制
           <address-setting match="#">
代码语言:txt
复制
               <dead-letter-address>jms.queue.DLQ</dead-letter-address>
代码语言:txt
复制
               <expiry-address>jms.queue.ExpiryQueue</expiry-address>
代码语言:txt
复制
               <redelivery-delay>0</redelivery-delay>
代码语言:txt
复制
               <max-delivery-attempts>10</max-delivery-attempts>
代码语言:txt
复制
               <max-size-bytes>10485760</max-size-bytes>
代码语言:txt
复制
               <address-full-policy>BLOCK</address-full-policy>
代码语言:txt
复制
               <message-counter-history-day-limit>10</message-counter-history-day-limit>
代码语言:txt
复制
           </address-setting>
代码语言:txt
复制
       </address-settings>
代码语言:txt
复制
       <jms-connection-factories>
代码语言:txt
复制
           <connection-factory name="RemoteConnectionFactory">
代码语言:txt
复制
               <connectors>
代码语言:txt
复制
                   <connector-ref connector-name="netty"/>
代码语言:txt
复制
               </connectors>
代码语言:txt
复制
               <entries>
代码语言:txt
复制
                   <entry name="java:/jms/RemoteConnectionFactory"/>
代码语言:txt
复制
               </entries>
代码语言:txt
复制
           </connection-factory>
代码语言:txt
复制
       </jms-connection-factories>
代码语言:txt
复制
       <jms-destinations>
代码语言:txt
复制
           <jms-queue name="ExampleQueue">
代码语言:txt
复制
               <entry name="java:/jms/queue/ExampleQueue"/>
代码语言:txt
复制
           </jms-queue>
代码语言:txt
复制
       </jms-destinations>
代码语言:txt
复制
   </hornetq-server>

</subsystem>

代码语言:txt
复制

上述配置中,定义了一个名为"RemoteConnectionFactory"的JMS连接工厂和一个名为"ExampleQueue"的JMS队列。根据实际需求,可以添加更多的连接工厂和队列配置。

  1. 在应用程序中,使用JNDI查找方式获取JMS连接工厂和队列对象,并进行消息的发送和接收操作。以下是一个示例代码:
代码语言:java
复制

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.Destination;

import javax.jms.JMSException;

import javax.jms.Message;

import javax.jms.MessageConsumer;

import javax.jms.MessageProducer;

import javax.jms.Session;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

public class JMSExample {

代码语言:txt
复制
   public static void main(String[] args) {
代码语言:txt
复制
       try {
代码语言:txt
复制
           // 创建JNDI上下文
代码语言:txt
复制
           Context jndiContext = new InitialContext();
代码语言:txt
复制
           // 查找JMS连接工厂
代码语言:txt
复制
           ConnectionFactory connectionFactory = (ConnectionFactory) jndiContext.lookup("java:/jms/RemoteConnectionFactory");
代码语言:txt
复制
           // 创建JMS连接
代码语言:txt
复制
           Connection connection = connectionFactory.createConnection();
代码语言:txt
复制
           // 创建JMS会话
代码语言:txt
复制
           Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
代码语言:txt
复制
           // 查找JMS队列
代码语言:txt
复制
           Destination destination = (Destination) jndiContext.lookup("java:/jms/queue/ExampleQueue");
代码语言:txt
复制
           // 创建JMS消息生产者
代码语言:txt
复制
           MessageProducer producer = session.createProducer(destination);
代码语言:txt
复制
           // 创建JMS消息
代码语言:txt
复制
           Message message = session.createTextMessage("Hello, JMS!");
代码语言:txt
复制
           // 发送JMS消息
代码语言:txt
复制
           producer.send(message);
代码语言:txt
复制
           // 创建JMS消息消费者
代码语言:txt
复制
           MessageConsumer consumer = session.createConsumer(destination);
代码语言:txt
复制
           // 接收JMS消息
代码语言:txt
复制
           Message receivedMessage = consumer.receive();
代码语言:txt
复制
           // 处理接收到的JMS消息
代码语言:txt
复制
           if (receivedMessage instanceof TextMessage) {
代码语言:txt
复制
               TextMessage textMessage = (TextMessage) receivedMessage;
代码语言:txt
复制
               System.out.println("Received message: " + textMessage.getText());
代码语言:txt
复制
           }
代码语言:txt
复制
           // 关闭JMS资源
代码语言:txt
复制
           consumer.close();
代码语言:txt
复制
           producer.close();
代码语言:txt
复制
           session.close();
代码语言:txt
复制
           connection.close();
代码语言:txt
复制
       } catch (NamingException | JMSException e) {
代码语言:txt
复制
           e.printStackTrace();
代码语言:txt
复制
       }
代码语言:txt
复制
   }

}

代码语言:txt
复制

上述代码中,通过JNDI查找方式获取了JMS连接工厂和队列对象,并使用它们进行消息的发送和接收操作。

以上是从jboss 7.1连接到JMS (Apacher ServiceMix)的基本步骤。根据实际需求,可能需要进一步配置和调整。腾讯云提供了一系列与JMS相关的产品和服务,例如消息队列 CMQ(https://cloud.tencent.com/product/cmq)和云函数 SCF(https://cloud.tencent.com/product/scf),可以根据具体场景选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • | 从开发角度看应用架构2:对Java EE应用进行打包和部署!

    通常是结合使用:它们允许Java EE应用程序连接到数据库、发布和使用Web服务、提供Web应用程序、执行事务、实施安全策略以及连接到大量外部资源,以执行诸如消息传递,命名,发送电子邮件以及与非Java...JMS相关资源在java:jboss / jms / *命名空间下注册(在java下的JMS队列:jboss / jms / queue / *和java下的主题:jboss / jms / topic...如果我们在EAP中设置了类似以下的JMS队列资源: jms-queue name="helloWorldQueue" entries="java:jboss/jms/queue/helloWorldQueue..."/> 我们可以通过将资源注入到JMS客户端类来将消息发送到此队列: @Resource(mappedName = "java:jboss/jms/queue/helloWorldQueue")private...如果遵循Maven标准源代码布局,maven-war-plugin会从应用程序创建WAR文件。

    3.3K20

    activemq学习之activemq功能(一)

    其他开源的 JMS 提供商 JbossMQ(jboss4)、jboss messaging(jboss5)、joram、ubermq、mantamq、openjms…大部分基于的JMS provider...开源的消息中间件都已经停止维护了,剩下的几个都抱到了大腿,比如 Jboss mq 和 jboss、joram 与 jonas(objectweb 组 织 ) 、 ActiveMQ 与 Geronimo...持久订阅允许消费者消费它在未处于激活状态时发送的消息 点对点: 如果session关闭时 有一些消息已经被收到 但没有被签收 消费者下一次连接到相同队列时,这些消息仍然会被签收 可以消息过滤 如果是持久化消息...持久订阅时,客户端向 JMS 服务器注册一个自己身份的 ID,当这个客户端处于离线时,JMS Provider 会为这个 ID 保存所有发送到主题的消息,当客户再次连接到 JMS Provider 时,...有三个可选项 Session.AUTO_ACKNOWLEDGE 当客户成功的从 receive 方法返回的时候,或者从MessageListenner.onMessage 方法成功返回的时候,会话自动确认客户收到消息

    1.1K20

    大型网站架构系列:消息队列(二)

    P2P模式包含三个角色: 消息队列(Queue) 发送者(Sender) 接收者(Receiver) 每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到他们被消费或超时。...五、常用消息队列 一般商用的容器,比如WebLogic,JBoss,都支持JMS标准,开发上很方便。但免费的比如Tomcat,Jetty等则需要使用第三方的消息中间件。...可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA...ActiveMQ可以自动的部署到任何兼容J2EE 1.4商业服务器上 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA 支持通过JDBC和journal提供高速的消息持久化 从设计上保证了高性能的集群...消息队列的使用过程,如下: 客户端连接到消息队列服务器,打开一个channel。 客户端声明一个exchange,并设置相关属性。 客户端声明一个queue,并设置相关属性。

    1.3K50

    常见web中间件漏洞总结 | Tomcat Nginx JBoss

    配置不当会引起此漏洞,应过滤\r、\n这样的换行符 目录穿越漏洞 如果Nginx的配置中,location的url上/files没有加后缀/,而alias的/home/是有后缀/的,这个/就可以导致从/...JBOSS/WildFly 漏洞名称 漏洞影响 影响版本 JBOSS A反序列化命令执行漏洞(CVE-2017-12149)危害:高危 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter...过滤器中没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞 JBoss 5.x-6.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)危害:高危 JBoss...AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码...JBoss AS 4.x及之前版本 Administration Console 弱口令+后台getshell JBoss Administration Console存在默认账号弱口令,如果Administration

    1.9K40

    ActiveMQ的安装

    ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。...的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic...可以自动的部署到任何兼容J2EE 1.4 商业服务器上 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA 支持通过JDBC和journal提供高速的消息持久化 从设计上保证了高性能的集群...,客户端-服务器,点对点 支持Ajax 支持与Axis的整合 可以很容易得调用内嵌JMS provider,进行测试 2.2....JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。

    72650
    领券