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

如何从spring启动应用程序连接JBOSS EAP 7中配置为JNDI的现有JMS?

从Spring启动应用程序连接JBOSS EAP 7中配置为JNDI的现有JMS可以通过以下步骤实现:

  1. 首先,确保您的应用程序的依赖中包含了Spring JMS相关的库,例如spring-jms和spring-context。
  2. 在Spring的配置文件中,添加JMS连接工厂和JNDI模板的配置。示例配置如下:
代码语言:txt
复制
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
    <property name="targetConnectionFactory">
        <bean class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiTemplate">
                <bean class="org.springframework.jndi.JndiTemplate">
                    <property name="environment">
                        <props>
                            <prop key="java.naming.factory.initial">org.jboss.naming.remote.client.InitialContextFactory</prop>
                            <prop key="java.naming.provider.url">http-remoting://localhost:8080</prop>
                            <prop key="java.naming.security.principal">username</prop>
                            <prop key="java.naming.security.credentials">password</prop>
                        </props>
                    </property>
                </bean>
            </property>
            <property name="jndiName" value="java:jboss/exported/jms/ConnectionFactory"/>
        </bean>
    </property>
</bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="connectionFactory"/>
</bean>

在上述配置中,jndiTemplate是用于与JNDI服务进行通信的模板,通过java.naming.factory.initialjava.naming.provider.url指定了JNDI服务的连接信息。java.naming.security.principaljava.naming.security.credentials是可选的,用于进行身份验证。

jndiName属性指定了配置在JBOSS EAP 7中的JMS连接工厂的JNDI名称。

  1. 在代码中使用JMS模板发送和接收消息。示例代码如下:
代码语言:txt
复制
@Autowired
private JmsTemplate jmsTemplate;

public void sendMessage() {
    jmsTemplate.send("queueName", new MessageCreator() {
        public Message createMessage(Session session) throws JMSException {
            return session.createTextMessage("Hello, World!");
        }
    });
}

public String receiveMessage() {
    Message message = jmsTemplate.receive("queueName");
    if (message instanceof TextMessage) {
        return ((TextMessage) message).getText();
    }
    return null;
}

在上述代码中,jmsTemplate会自动使用配置的JMS连接工厂连接到JBOSS EAP 7,并发送/接收消息到/从指定的队列(queueName)。

注意:以上代码仅供参考,实际情况中可能需要根据具体环境进行调整。

对于JBOSS EAP 7配置为JNDI的现有JMS的优势和应用场景,可以简单总结如下:

优势:

  • JNDI能够提供统一的命名和查找服务,使得连接到JMS变得简单且可靠。
  • JBOSS EAP 7作为一个企业级的应用服务器,具有高可用性、可靠性和可扩展性。

应用场景:

  • 在分布式系统中,多个应用程序之间通过JMS进行消息传递和解耦。
  • 实时数据处理和通信,例如实时监控和实时日志处理。
  • 高并发情况下的异步任务处理,例如批处理任务或长时间运行的任务。

关于腾讯云相关产品和产品介绍链接地址,请参考腾讯云官方文档和网站。

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

相关·内容

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

例如,要配置EAP数据库访问权限,请配置数据源子系统中数据库连接详细信息。 ? EAP体系结构一个重要概念是模块概念。...EJB容器:部署和配置与EJB,JPA和JMS相关组件。这些类型部署将在后面的章节中详细介绍。 容器负责安全性、事务处理、JNDI查找和远程连接等。...例如,JBoss EAP默认提供Java Database Connectivity(JDBC)数据源JNDI名称(指向嵌入式H2数据库)java:jboss /datasources / ExampleDS...; ... } 接下来,我们实验验证JNDI 在实验环境启动JBoss EAP: ? ? EAP启动成功以后,我们接下来看JNDI。...应用程序服务器维护一个JNDI资源绑定列表。 应用程序需要资源(例如邮件,JDBC数据源和JMS连接工厂和队列)绑定到各自名称空间下唯一可识别名称。

3.2K20
  • JMS + jboss EAP 6.2 示例

    下面以Jboss EAP 6.2环境,介绍一下基本用法: JMS有二种基本使用模式, 一种是点对点模式(即“一条”消息只能从“一个”发送方传输到“一个”接收方) - 这种模式下,发送方、接收方不必同时在线...将创建一个msgUser用户,提示:jboss eap 6.2安全性比较高,要求用户密码满足复杂性要求(比如: Password1!...,启动jboss (即:要以standalone-full.xml中内容做为配置启动jboss) a)  图形界面方式 进入jboss管理控制台,找到Profile -> Subsystems ->...guest组原因 b) standalone.xml 配置方式 其实刚才操作,最后结果就是在standalone.xml中生成了如下代码: <subsystemxmlns="urn:<em>jboss</em>...三、编写测试代码 3.1 <em>jndi</em>.properties 要<em>连接</em>到队列,必然需要一些相关<em>的</em>参数,比如:队列地址、用户名、密码、<em>连接</em>“字符串”等,如果硬编码在java代码中,显然不好,我们可以在src

    1.7K70

    JBoss WildFly 7 连接到 ActiveMQ 5.9

    我们最近发现大量客户都有一个同样问题:在运行于JBoss Wildfly 7中HornetQ JMS实现和独立运行ActiveMQ服务器之间,如何才能建立一个桥接。...但是这个方式缺点在于,如果ActiveMQ服务器由于某些原因停止工作的话,运行于JBossJMS生产者将会失败,消费者也将会断开连接并且需要重连(译者注:原文拼写错误,误将reconnect拼写...>     这个队列有两个JNDI名称,使得它可以同时内部(被桥接器)和外部(被客户端)访问到....这就是所有必需配置文件.我们应该可以启动WildFly服务,看到桥接开始工作并连接到ActiveMQ.  13:43:11,959 INFO  [org.jboss.as.remoting] (MSC...将桥接消息流方向反过来也是可能,尽管消费者桥接和生产者桥接并非同样至关重要.消费者桥接,通常更倾向于直接映射JNDI名字(在queue/JMSBridgeTargetQ里面,由资源适配器创建

    1K10

    干货分享:基于JBoss七个Java应用场景

    JBoss EAP 产品具有以下特性: • 小——安装介质仅有 160 M • 快——3 秒即可启动完毕 • 轻——轻量级 • 灵——架构灵活,可以按需“瘦身” • 简——安装配置简单 JBoss EAP...JBoss EAP消息传递子系统是一种精简型企业消息传递解决方案,用于支持Java消息传递规范(JMS要求,该规范是完整JEE规范一部分。...三、web安全试验 在本实验中,我们配置一个培训机构web,要求权限如下: 客人无需登录即可访问Web应用程序。他们可以自由浏览网站并查看课程信息。...它提供了一种以组件中心来开发 Java Web 用户界面的方法,从而简化了开发。 JSF遵守MVC架构,用户界面代码(视图)与应用程序数据和逻辑(模型)清晰分离使JSF应用程序更易于管理。...所有与应用程序交互访问都交由FacesServlet(控制器)来处理。 ? 首先启动EAP: ? 创建 SimpleProperty目录和class。

    2.2K50

    微服务架构之Spring Boot(六十)

    38.3使用Java EE托管事务管理器 如果将Spring Boot应用程序打包 war 或 ear 文件并将其部署到Java EE应用程序服务器,则可以使用应用程序服务器内置事务管理器。...38.4混合XA和非XA JMS连接 使用JTA时,主JMS ConnectionFactory bean可识别XA并参与分布式事务。...Hazelcast 如果Hazelcast在类路径上并找到合适配置Spring Boot会自动配置您可以在应用程序中注入 HazelcastInstance 。...如果你定义 com.hazelcast.config.Config bean,Spring Boot使用它。如果您配置定义了实例名称,Spring Boot会尝试查找现有实例而 不是创建新实例。...否则,Spring Boot会尝试默认位置找到Hazelcast配置:工作目录中 hazelcast.xml 或类路径根目录。

    63110

    jboss EAP 6.2 + Message Drive Bean(MDB) 整合IBM Webshpere MQ 7.5

    上一篇我们知道了消息驱动Bean基本用法,实际大型分布式企业应用中,往往会采用高性能商业Queue产品,比如IBM Webshpere MQ(目前最新版本是7.5 ),下面讲解下如何Jboss EAP...6.2 版本上整合Webshpere MQ 7.5 一、修改jbossstandalone-full.xml a) 添加IBMresource-adapters 找到<subsystem xmlns...\deployments 下,jboss启动后,将自动部署该rar 注:rar包版本必须与MQ相符(即:如果你要监听MQ 7.5队列消息,则该rar必须是MQ 7.5自带) 附: 7.5版wmq.jmsra.rar...下载地址 http://pan.baidu.com/s/1jG5bWAM 三、MDB端配置 a) 注解方式 1 import javax.ejb.ActivationConfigProperty;...:ejb-jar> 这二种配置方式完全等效 四、测试验证 a) 以standalone-full.xml 配置启动jboss %jboss_home%\standalone\configuration>

    2K80

    实战:构建一个车险业务规则引擎(上篇)

    BPM是一个非常灵活平台,可以部署在包括但不限于JBoss EAPJBoss Fuse和提供平台即服务Red Hat OpenShift。...使用JBoss BPM Suite业务应用程序还需要JBoss Fuse集成功能以及Red Hat JBoss Data Virtualization数据虚拟化功能。...JBoss BPM Suite 6.3版开始,来自审计数据库数据也在运行时使用,主要用于查询。...在以下部分中,我们将了解仪表板及其配置,以更好地了解Dashbuilder如何用于监视和优化过程。 我在笔记本上通过virtulbox虚拟机搭建了一套BPM, 在cli中查看BPM服务状态: ?...数据源提供了对不同外部数据提供者连接,这些外部提供者通常在JBOSS EAP数据源中配置,并在本节中与JNDI一起使用。 编辑pquoteReportingDs ? ?

    2.2K30

    EJB学习心得

    注意:在EJB中对Bean定位是通过JNDI名称来确定 一:当EJB发布到JBOSS时,如果我们没有为它指定全局JNDI名称或修改其默认EJB名称, JBOSS就会按照默认命名规则为EJB生成全局...local 远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote 如果把EJB应用打包成后缀*.jar模块文件,默认全局JNDI名称是 本地接口:EJB-CLASS-NAME...六:如何发送消息(以Queue例,如果是Topic则应把所有的Queue改为Topic) 1.得到一个JNDI初始化上下文(Context) InitialContext ctx = new...该连接工厂是用JMS提供,不需要我们自己创建, 每个工厂都绑定一个全局JNDI,我们通过全局JNDI来获取它 QueueConnectionFactory factory =...= (Destination)ctx.lookup(配置文件JNDI名称); 6.根据会话和目标地址来建立消息生产者MessageProducer MessageProducer producer

    57310

    实战:将POJO类转换为EJB | 开发角度看应用架构6

    EJB企业应用程序提供了多线程,并发性,事务和安全性,而不需要开发人员明确地这些功能编写代码。此外,开发人员可以声明性地向EJB添加注释,以将业务方法公开Web服务端点。...消息驱动Bean(MDB)使Java EE应用程序异步处理消息。 MDB侦听JMS消息。对于收到每条消息,它都会执行一个操作。 MDB应用程序开发提供事件驱动松散耦合模型。...如果客户端是远程,则使用JNDI查找。 应用程序EJB组件在应用程序服务器内容器上下文中运行。容器负责管理EJB生命周期(创建,执行和销毁)。...注意到这个类用@ApplicationScoped注解,这意味着只要应用程序应用程序服务器上部署并运行,该类对象就保持在作用域(活动)中。 ?...接下来,启动EAP: ? 通过运行以下命令来构建和部署EJB到JBoss EAP: ? ? 查看EAP日志: ? ? 访问应用: ? 我们添加条目,然后观察日志: ? ? 查坎EAP日志: ?

    1.2K50

    J2EE规范总结

    因为jboss,weblogic。websphere自身带有J2EEAPI,所以能够不使用sunJ2EE实现。   在企业级应用中,都有一些通用企业需求模块,如数据库连接,邮件服务,事务处理等。...JNDI允许把名称同Java对象或资源关联起来,建立逻辑关联,而不必知道对象或资源物理ID。)JNDI开发人员提供了查找和访问各种命名和目录服务通用,统一接口。   ...利用JNDI命名与服务功能可满足企业级API对命名与服务访问,诸如EJB,JMS,JDBC 2.0以及IIOP上RMI通过JNDI来使用CORBA命名服务。   ...RMI/JNI: RMI可利用标准Java本机方法接口与现有的和原有的系统相连接   RMI/JDBC: RMI利用标准JDBC包与现有的关系数据库连接   这就实现了与非Java语言现有服务器进行通信...JTA事务比JDBC事务更强大,一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一数据库连接。 Java 事务API 可以横跨包含:EJB訪问、JDBC连接以及JMS连接

    3.2K51

    对,俺差是安全! | 开发角度看应用架构18

    jboss-web.xml文件添加了其他JBoss特定描述,例如EAP如何处理应用程序身份验证和授权。 在许多情况下,此文件用于定义安全域,该域是一组JAAS声明性安全配置。...logout():注销当前经过身份验证用户。 四、基于声明式安全:在JBoss EAP配置安全域 使用app server,如EAP,可简化开发人员和应用程序管理员安全配置和实施。...2用于定义用于访问数据源JNDI名称属性。 请注意,必须已配置此数据源。 3用于定义用于获取给定用户密码查询属性。 此查询取决于数据库配置方式。...然后启动EAP: 在终端窗口中,运行以下脚本以在正在运行EAP服务器中创建安全域。 首先查看脚本内容: ? 执行脚本: ?...接下来,查看EAP启动文件(standalone-full.xml),能够找到刚才脚本增加内容: ? 更新jboss-web.xml文件以使用新安全域。

    1.3K10

    wildfly 21使用指南

    简介 wildfly前身是JBoss AS(JBoss Application Server),为了区别于JBoss企业级应用JBoss EAP。在v8时候改名为wildfly。...域控制器主要职责是维护域中央管理策略,以确保所有主机控制器都知道其当前内容,并协助主机控制器确保根据此策略配置任何正在运行应用程序服务器实例。...如果大家仔细观察这些配置文件,可以发现有很多extensions配置,这些extensions是以module形式放在modules目录,我们可以根据需要自行配置: ...但是如果连接是远程服务器的话,则需要输入用户名和密码。 配置子系统 我们可以使用管理界面轻松管理和配置wildfly子系统。...以datasource例,我们可以在wildfly中创建好datasource子系统,从而在应用程序中直接使用即可。避免了应用程序中对数据源多次定义和重复处理。

    2.7K30

    分布式事务之Spring事务与JMS事务(二)

    Spring事务 Spring事务机制主要包括声明式事务和编程式事务,声明式事务让我们复杂事务处理中得到解脱,编程式事务在实际开发中得不到广泛使用,仅供学习参考。...JPA事务管理过程: [enoepl3el2.png] 在整个事务管理过程中使用Spring事务控制,并且由相关ORM框架实现JPA规范 JMS事务原理 Spring JMS Session...Spring容器管理事务生命周期 通过Spring事务接口调用 业务代码与具体事务实现无关 在数据库连接中使用本地事务示例如下: public void transferAccount() {...外部(全局)事务 外部事务管理器提供事务管理 通过Spring事务接口,调用外部管理器 使用JNDI等方式获取外部事务管理器实例 外部事务管理器一般由应用服务器提供、如JBossJNDI(Java...服务供应接口(SPI)实现,由管理者将JNDI API映射特定命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。

    1.9K10

    微服务架构之Spring Boot(四十二)

    始终可以手动配置其他连接池。如果您定义自己 DataSource bean,则不会进行自动配置。 DataSource配置spring.datasource.* 中外部配置属性控制。...否则,Spring Boot会尝试自动配置嵌入式数据库。 您通常不需要指定 driver-class-name ,因为Spring Boot可以 url 中大多数数据库推断出它。...30.1.3连接JNDI数据源 如果将Spring Boot应用程序部署到Application Server,则可能希望使用Application Server内置功能配置和管理DataSource...属性替代,以特定JNDI位置访问 DataSource 。...例如, application.properties 中以下部分显示 了如何访问定义 DataSource JBoss AS: spring.datasource.jndi-name=java:jboss

    93420

    jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)

    一、确认CLI所使用端口 以domain模式例,查看domain controller(也就是master主机)上host.xml 1 2...通过CLI连接Jboss $JBOSS_HOME/bin/jboss-cli.sh connect 192.168.1.2:9999 (大家根据实际情况,把这里IP换成master主机对应ip和端口...) 如果是连接远程主机,接下来会提示输入用户名/密码(即:jboss管理控制台用户名、密码) [domain@172.xxx.xxx.xxx:9999 /] (如果能看到这个,说明连接成功) 三、启动...类似的,如果要启动该组下所有server,把stop-servers,换成start-servers即可 四、启动/停止某个特定Server /host=master/server-config=server8080...上节我们学习如何用代码动态创建JNDI数据源,再加上本节知识,完全可以写一个管理程序,让代码自动添加数据源,然后调用CLI shell命令,自动重启server,这样运维起来就方便多了,最终可以达到一键配置

    2K90
    领券