当前位置: 首页 > 面试题库 >

Spring JTA TransactionManager配置:同时支持Tomcat和JBoss

郦祯
2023-03-14
问题内容

我有一个使用JPA和JTA和Spring的Web应用程序。我想同时支持JBoss和Tomcat。在JBoss上运行时,我想使用JBoss自己的TransactionManager,而在Tomcat上运行时,我想使用JOTM。

我可以同时使用这两种方案,但现在发现这两种情况似乎需要两个单独的Spring配置。使用JOTM,我需要使用Spring的JotmFactoryBean

<bean id="transactionManager" 
 class="org.springframework.transaction.jta.JtaTransactionManager">
    <property name="userTransaction">
        <bean class="org.springframework.transaction.jta.JotmFactoryBean"/>
    </property>
</bean>

不过,在JBoss中,我只需要从JNDI获取“ TransactionManager”:

<bean id="transactionManager" 
 class="org.springframework.transaction.jta.JtaTransactionManager">
    <property name="transactionManager">
        <bean class="org.springframework.jndi.JndiObjectFactoryBean">
             <property name="resourceRef" value="true" />
             <property name="jndiName" value="TransactionManager" />
             <property name="expectedType" 
               value="javax.transaction.TransactionManager" />
        </bean>
    </property>
</bean>

有没有一种方法可以配置它,以便使用适当的TransactionManager-JBoss或JOTM-而不需要两个不同的配置文件?


问题答案:

我认为您已经错过了JNDI的重点。JNDI是为解决您遇到的问题而编写的!

我认为您可以将其提高一个级别,所以根据您的情况,而不是使用“ userTransaction”或“ JNDI的事务管理器”。为什么不将“
JtaTransactionManager”添加到JNDI。这样,您可以将配置推送到应该存在的JNDI,而不是创建更多的配置文件[好像还没有足够的;)]。



 类似资料:
  • 本文向大家介绍Nginx同时支持Http和Https的配置详解,包括了Nginx同时支持Http和Https的配置详解的使用技巧和注意事项,需要的朋友参考一下 现在的网站支持Https几乎是标配功能,Nginx能很好的支持Https功能。下面列举一个配置同时支持Http和Https的功能。 需要注意的是:既然选择使用Https,就是为了保证通信安全,那么就没必要再用Http进行通信了。在URL中还

  • 是否支持不同的测试配置文件?在我的本地测试期间,我想使用“mvn包”,它使用“测试”配置文件。这指向我的本地主机数据库。对于我的 DevOps 工具链,我想使用不同的测试配置文件,因为我们使用的是容器,不能使用本地主机。目标是区分本地计算机测试和云环境。测试。

  • 在Java web应用程序的根目录中有以下两个servlet和一个index.html页面。html页面收集一些数据,使用Insert servlet插入数据,然后向用户提供一个URL来检索数据(即http://localhost:8080/12345)。我希望用户能够将http://localhost:8080/12345放在浏览器中,并调用Retrieve servlet。 现在发生的事情是,

  • 我们的项目需要同时支持Oracle和Postgres DBS。并且可能会有更多的数据库添加到此列表中。因此需要为BLOB和CLOB数据类型提供一个与DB无关的Hibernate配置。 而Oracle正在与以下方面进行良好的合作: Postgres也开始抱怨。 研究发现,人们建议使用和进行注释。这两个都是Hibernate注释。但是,我们打算使用JPA注释,这需要在运行时使用Hibernate,在我

  • 我不明白我做错了什么?

  • 【关于Tomcat】 目前有很多网站使用jsp的程序编写,所以解析jsp的程序就必须要有相关的软件来完成。Tomcat就是用来解析jsp程序的一个软件, Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深