作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我即将使用新的 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/
我是一名优秀的程序员,十分优秀!