首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用Spring来集成HornetQ TransactionManager吗?

我应该使用Spring来集成HornetQ TransactionManager吗?
EN

Stack Overflow用户
提问于 2011-10-04 06:44:34
回答 2查看 1.1K关注 0票数 2

我对事务和HornetQ原生应用程序接口有一个基本的怀疑。

如果我的应用程序是基于Spring的,使用Spring管理的事务,我应该如何配置HornetQ来参与Spring管理的同一事务?

使用JMS API我猜这是相当明显的,因为Spring认为JMS资源是事务性的。

但我不知道如何正确使用nativa API。有人能解释一下这个问题吗?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-05 02:38:13

HornetQ在核心应用程序接口上支持XA,它们只是资源。

如果只是使用常规的XA,您应该能够在Spring上征募这些资源。

http://docs.jboss.org/hornetq/2.2.5.Final/api/org/hornetq/api/core/client/ClientSession.html

不过,我不确定Spring上的集成是如何完成的。如果有任何不能工作的地方,可以(也应该)在spring集成模块上进行修复或改进。

票数 1
EN

Stack Overflow用户

发布于 2011-10-11 09:00:19

不确定我是否理解正确,但如果您试图仅使用Spring和@ transaction注解为JMS简单地进行声明性事务管理,那么只需使用 = "myTransactionManager“/>,然后-对于"myTranactionManager”,注册JmsTransactionManager类型的bean,例如,

代码语言:javascript
复制
@Bean public PlatformTransactionManager myTranactionManager (){ 
  return new JmsTransactionManager( this.connectionFactory());
} 

现在,您可以像平常一样使用注释,JMS交互将被包装在一个事务中

代码语言:javascript
复制
@Transactional
public void doSomethingWithJms(){ 
  jmsTemplate.send(...);
  jmsTemplate.convertAndSend(...)
}

如果您的目标是使用多个资源,例如JMS和JDBC,那么您需要使用JTA。要了解如何设置JTA (用于JPA和JMS),请查看这篇博客文章http://blog.springsource.com/2011/08/15/configuring-spring-and-jta-without-full-java-ee/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7641521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档