首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seam 3 @Transactional注释在Java EE环境中不起作用

Seam 3 @Transactional注释在Java EE环境中不起作用
EN

Stack Overflow用户
提问于 2013-12-18 03:58:27
回答 1查看 527关注 0票数 3

我有一个异步命令处理器模块,它产生了许多后台线程,这些线程读取DB记录,为每个记录加载一个命令(CDI Bean)并运行该命令。Arquillian使用Weld-SE容器测试运行良好。但是,当我将其放入JavaEE环境(作为EAPEAP6.1.1中的JBoss模块)时,@ transaction注释不会生效-后台方法在没有事务的情况下运行。因此,对实体的更改永远不会对数据库产生影响。

依赖于此消息传递模块的客户端模块在bean.xml中包含以下内容

代码语言:javascript
复制
<beans xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:s="urn:java:ee"
  xmlns:t="urn:java:org.jboss.seam.transaction"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">

   <interceptors>
     <class>org.jboss.seam.transaction.TransactionInterceptor</class>
   </interceptors>
</beans>

我尝试了Seam @Transactional annotation not working?中提到的技巧,但不起作用。

你知道为什么会这样吗?

EN

回答 1

Stack Overflow用户

发布于 2015-04-08 16:57:37

我不确定您的项目结构,但您应该考虑到beans.xml只在它所在的bean归档中工作。因此,您必须在您希望它工作的每个Bean归档中激活拦截器(CDI 1.0)。使用CDI1.1,您可以全局启用拦截器。

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

https://stackoverflow.com/questions/20643500

复制
相关文章

相似问题

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