- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在下面的代码中,我尝试强制特定 bean 的事务超时,将其事务时间设置为短于该方法完成所需的时间。
超时设置为3秒,该方法完成所需的时间为5秒。
我正在使用可移植解决方案,它指的是 BMT 和使用 setTransactionTimeout
设置超时的组合。方法。
我希望交易会失效并抛出异常,但这并没有发生。
我做错了什么?
@Singleton
@Startup
@TransactionManagement(TransactionManagementType.BEAN)
public class TimerSingleton {
@Inject
private UserTransaction ut;
@PostConstruct
public void execute() throws Exception {
ut.begin();
ut.setTransactionTimeout(3); // Transaction should timeout after 3 seconds
System.out.println(">>> Executing...");
Thread.sleep(5000); // Block for 5 seconds
ut.commit();
System.out.println(">>> Completed");
}
}
该方法已完全执行:
17:00:12,138 INFO [stdout] (ServerService Thread Pool -- 85) >>> Executing...
17:00:17,139 INFO [stdout] (ServerService Thread Pool -- 85) >>> Completed
我正在使用 Wildfly 8.2,并且我了解 @TransactionTimeout
注释,但它是专有的,我想知道如何以可移植的方式控制它。
最佳答案
在调用 begin
方法之前必须调用 setTransactionTimeout
方法,这是因为 setTransactionTimeout
修改与以下启动的事务关联的超时值使用 begin
方法启动当前线程。
关于java - UserTransaction.SetTransactionTimeout 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096898/
我在spring事务中遇到了一个奇怪的问题。我的应用程序使用带有 EJB 的 Spring。 EJB 还调用带有 @Transaction 注释的 Spring 服务类。我使用 Spring JtaT
我在 tomcat 7 中运行我的应用程序时得到以下堆栈跟踪。相同的应用程序在 Weblogic AS 中运行良好。 15:31:48.896 [localhost-startStop-1] DEBU
我有一个带有 bean 管理事务的无状态 bean,以及一个像这样的方法: @Stateless @TransactionManagement(TransactionManagementType.BE
在下面的代码中,我尝试强制特定 bean 的事务超时,将其事务时间设置为短于该方法完成所需的时间。 超时设置为3秒,该方法完成所需的时间为5秒。 我正在使用可移植解决方案,它指的是 BMT 和使用 s
我有 Restful Webservice 实现。我在哪里通过注入(inject) @Resource 使用 UserTransaction 对象维护事务。而且我可以看到 UserTransactio
static void clean() throws Exception { final UserTransaction tx = InitialContext.doLookup("UserTra
这是一个学术问题;我没有与此相关的损坏代码。我只是想扩大我对幕后发生的事情的理解。 我在 JPA DAO 中为典型的 JSF Web 应用程序使用的代码模式(从书籍和教程中复制)基本上是这样的: pu
Java中有一段代码(一个循环)使用UserTransaction用于处理交易。 userTransaction 对象在循环之前声明,该对象声明为, private javax.ejb.Session
我有这门课: @RunWith(Arquillian.class) public class myIT { @Inject private UserTransaction utx;
我正在尝试实现两阶段原子提交或回滚模式。步骤是: 读取数据库并填充 UI 表单 在表单中输入更改,提交更新和应用程序级别验证 执行两个操作之一 a.在一个事务中提交多个更改b.回滚多个更改以放弃 这些
我有一个用于管理用户信息的 mySQL 数据库,我正在为我的 mySQL 数据库使用 JTA 数据源,这是 persistence.xml 的样子: java:/SensorCl
我在开发一个多模块 maven 应用程序并且 weblogic 已经在生产中。堆栈是: Tomcat 8.5 PostGre 9.6 hibernate 4.3.8 Spring 4.1.5 Spri
我有一个接受 POST 请求的 servlet,并且我正在尝试使用请求的参数来构建并保留实体类的实例。 这是我的 servlet: public class TheServlet extends Ht
标题说明了一切:UserTransaction 之间有什么区别?和一个 EntityTransaction ? 我的初步理解是 UserTransaction 在需要 JTA 时使用(例如,对多个事物
UserTransaction.getStatus() 方法总是返回值 '6',即使在执行回滚或提交之后也是如此。无法理解为什么状态没有改变。有人可以指出这里有什么问题吗? 我正在使用 WAS 6.1
为了在没有 Java EE 容器的情况下尝试 Java SE 中的声明式事务管理,我只是将 Glassfish 附带的事务 Servlet 示例转换为 Java SE。请参阅原始 Servlet 和随
需要帮助解决以下问题。 背景:我在独立应用程序中使用 OpenJPA 和 spring 3.x 从 db2 数据库检索数据。我不需要事务管理,因为我的要求只是从数据库读取数据。 请在我的 spring
以下代码中 ut 实例的重用是否正确? UserTransaction ut = (UserTransaction)ctx.lookup("java:comp/UserTransaction");
我已经阅读了 JTA JSR 一些时间,但我仍然不明白到底应该由谁来提供 UserTransaction 和 TransactionManager 接口(interface)的实现? JTA规范的内容
在 Wildfly 10:为什么我对 java:jboss/UserTransaction 和 java:/TransactionManager 有两种不同的 jndi 命名约定。看了 UserTra
我是一名优秀的程序员,十分优秀!