gpt4 book ai didi

ejb-3.0 - EJB3 + JEE6 : What is a persistent Timer?

转载 作者:行者123 更新时间:2023-12-02 07:08:54 26 4
gpt4 key购买 nike

我即将使用新的 EJB3 TimerService(作为 Java EE 6 的一部分),并且像往常一样,JavaDoc 的简洁性给我留下了深刻的印象:)

你知道TimerConfig对象的persistent属性有什么作用吗?

JavaDoc TimerConfig说:持久属性确定相应计时器的生命周期是否跨越创建它的 JVM。它是可选的,默认为 true。

最佳答案

持久化属性意味着容器需要将定时器状态持久化到数据库中。如果您需要保证即使服务器脱机(故意或崩溃)计时器也会触发,这一点很重要。当服务器重新上线时,需要执行错过的计时器。将计时器设置为持久性还会产生副作用,即确保计时器仅在一台服务器 JVM 中执行(但不一定是创建它的服务器),无论这对您的产品意味着什么。例如,在集群服务器环境中,这通常意味着即使 EJB 模块在 3 个 JVM 上运行,也只有一个 JVM 会执行计时器。

persistent=true 是 EJB 3.1 之前唯一可用的选项。某些计时器操作不够重要,不足以保证这种级别的可靠性,因此添加了该选项以允许非持久计时器。将计时器设置为非持久性还会产生副作用,即确保它在创建它的 JVM 中运行。这对于更新内存缓存或静态 HTML 非常有用。

关于ejb-3.0 - EJB3 + JEE6 : What is a persistent Timer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2673433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com