EJB3.0 TimerService重新部署

EJB3.0 TimerService重新部署,timer,weblogic,ejb-3.0,Timer,Weblogic,Ejb 3.0,几周前,我们开发了一个EJB3.0TimerService来按需安排一些任务(当用户单击按钮时,我们将创建计时器来执行一些任务)。到目前为止,它一直运作良好,直到今天 昨天我们重新部署了包含deTimerService的EJB来更新一些属性,今天没有触发计时器,尽管创建了一些 这正常吗?我的意思是,如果您不更改ejbTimeOut的签名,它是否应该在重新部署后一如既往地启动?默认情况下计时器是持久的。当您重新启动服务器时,重新部署应用程序等。若遗漏了它们,可能会超时 我过去也遇到过类似的问题。因

几周前,我们开发了一个EJB3.0TimerService来按需安排一些任务(当用户单击按钮时,我们将创建计时器来执行一些任务)。到目前为止,它一直运作良好,直到今天

昨天我们重新部署了包含deTimerService的EJB来更新一些属性,今天没有触发计时器,尽管创建了一些


这正常吗?我的意思是,如果您不更改ejbTimeOut的签名,它是否应该在重新部署后一如既往地启动?

默认情况下计时器是持久的。当您重新启动服务器时,重新部署应用程序等。若遗漏了它们,可能会超时


我过去也遇到过类似的问题。因此,建议取消所有以前的现有计时器,然后再创建一个新计时器。

默认情况下计时器是持久的。当您重新启动服务器时,重新部署应用程序等。若遗漏了它们,可能会超时


我过去也遇到过类似的问题。因此,建议取消所有以前存在的计时器,然后再创建一个新的计时器。

这是EJB3.0中的行为。在EJB3.1中,计时器服务变得更好。它支持在成功部署时创建的自动计时器。您可能想看看是否可以升级到EJB3.1

EE6教程:

企业bean计时器是编程计时器或自动计时器 计时器。编程计时器是通过显式调用 TimerService接口的计时器创建方法。自动定时器 是在成功部署企业bean后创建的 包含用java.ejb.Schedule或 调度注释


这就是EJB3.0中的行为。在EJB3.1中,计时器服务变得更好。它支持在成功部署时创建的自动计时器。您可能想看看是否可以升级到EJB3.1

EE6教程:

企业bean计时器是编程计时器或自动计时器 计时器。编程计时器是通过显式调用 TimerService接口的计时器创建方法。自动定时器 是在成功部署企业bean后创建的 包含用java.ejb.Schedule或 调度注释


要使计时器持久化,请使用TimerHandle,如下所述:

要保存计时器对象以供将来引用,请调用其getHandle方法并将TimerHandle对象存储在数据库中。(TimerHandle对象是可序列化的。)要重新实例化Timer对象,请从数据库中检索句柄并在句柄上调用getTimer。TimerHandle对象不能作为远程或web服务接口中定义的方法的参数传递。换句话说,远程客户端和web服务客户端无法访问bean的TimerHandle对象。但是,本地客户端没有此限制


取自

要使计时器持久化,请使用TimerHandle,如下所述:

要保存计时器对象以供将来引用,请调用其getHandle方法并将TimerHandle对象存储在数据库中。(TimerHandle对象是可序列化的。)要重新实例化Timer对象,请从数据库中检索句柄并在句柄上调用getTimer。TimerHandle对象不能作为远程或web服务接口中定义的方法的参数传递。换句话说,远程客户端和web服务客户端无法访问bean的TimerHandle对象。但是,本地客户端没有此限制


取自

使用asadmin-redeploy命令,其中--keepstate标志等于true

完整示例:

asadmin redeploy --keepstate=true --name=taskee-1.0-SNAPSHOT target/taskee-1.0-SNAPSHOT.war
更多信息请访问:


在--keepstate标志等于true的情况下使用asadmin-redeploy命令

完整示例:

asadmin redeploy --keepstate=true --name=taskee-1.0-SNAPSHOT target/taskee-1.0-SNAPSHOT.war
更多信息请访问:


是的,我读过类似的东西。看起来,如果服务器崩溃或重新启动,计时器会一直存在,但是如果重新部署应用程序,计时器就会丢失,因此您有责任恢复或重新创建计时器。谢谢你的回答。是的,我读过类似的东西。看起来,如果服务器崩溃或重新启动,计时器会一直存在,但是如果重新部署应用程序,计时器就会丢失,因此您有责任恢复或重新创建计时器。谢谢你的回答。