hibernate - 如何为 EJB 方法设置超时(在无状态 bean 中)

标签 hibernate timeout ejb wildfly

我有一个无状态 session bean,一种方法需要 6 分钟才能返回结果,因为我得到了“超时”异常。我注意到超时已经在wildfly standalone.xml 或persistence.xml 中设置

<session-bean>
   <stateful default-access-timeout="12000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
   <singleton default-access-timeout="12000"/>
</session-bean>

或者
<property name="javax.persistence.query.timeout" value="120000" />

但它仅适用于有状态的 bean。如何将超时设置为无状态 bean 中的一种方法?

最佳答案

我尝试使用以下注释,它似乎有效:

    @AccessTimeout(value = 15, unit = TimeUnit.MINUTES)
    @Override
    public void myMethod() {
        //do something
    }

关于hibernate - 如何为 EJB 方法设置超时(在无状态 bean 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25623520/

相关文章:

java - java - 如何超时读取Java Socket?

java - WARN/ActivityManager(78) : Launch timeout has expired, 放弃唤醒锁! -> 这是什么

java - EAR 和 JAR 文件中的 persistence.xml。使用哪个

Java TimerService 下一次执行时间是过去

hibernate - 用于获取单个树中所有节点的 JPA 查询

Hibernate - 在异常期间记录 sql 和所有参数

json - 没有为类 org.hibernate.proxy.pojo.javassist.Javassist 找到序列化程序?

java - 如何在不暂停整个程序的情况下暂停方法?

java - 在 spring jpa 中执行 Hibernate.initialize() 时出现并发修改异常

jakarta-ee - EJB TimerService 行为