繁体   English   中英

编程计时器@Timeout执行几次

[英]Programmatic Timer @Timeout executes several times

我有一个非持久性程序计时器。 当执行时间超过600秒时, @Timeout方法将启动两次。 但是,如果执行小于600秒,它只会执行一次。(这就是我所需要的)。

有人知道发生了什么吗?

如何解决此问题,以使计时器仅执行一次?

问候

我已经找到一种解决方法。 将注释@timeout放入注释@TransactionAttribute和@TransactionTimeout中:

@Timeout
@TransactionAttribute (TransactionAttributeType.REQUIRES_NEW)
@TransactionTimeout (value = 1, unit = TimeUnit.HOURS)

将这些依赖项放入pom中

<dependency>
         <groupId> org.jboss.ejb3 </ groupId>
         <artifactId> jboss-ejb3-ext-api </ artifactId>
         <version> 2.2.0.Final </ version>
   </ dependency>

我为您解答了以下问题: wildfly 10 final:为计时器调用超时错误 (适用于@schedule,但适用于同一件事)。

https://developer.jboss.org/thread/248773?_sscc=t

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM