程序化定时器@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: Error invoking timeout for timer(它用于@schedule,但它适用相同的东西)。
我有一个非持久性编程计时器。当执行超过 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: Error invoking timeout for timer(它用于@schedule,但它适用相同的东西)。