Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么在服务器关闭后删除EJB计时器?_Java_Jakarta Ee_Timer - Fatal编程技术网

Java 为什么在服务器关闭后删除EJB计时器?

Java 为什么在服务器关闭后删除EJB计时器?,java,jakarta-ee,timer,Java,Jakarta Ee,Timer,我正在使用Glassfish 4部署EJB bean,它应该创建持久的EJB TimerTimerConfig,只要服务器不间断地运行,一切都可以正常工作。当服务器关闭时,问题就出现了。我为了测试用例而关闭它,然后重新启动。一旦服务器重新启动,仍在等待超时的计时器将被删除。这是没有意义的,因为计时器被创建为持久的,但是每次我运行上面解释的测试用例时仍然会被删除。 以下是重新启动服务器后出现的部分日志信息: Info: Loading EJBTimerService. Please wait.

我正在使用Glassfish 4部署EJB bean,它应该创建持久的EJB TimerTimerConfig,只要服务器不间断地运行,一切都可以正常工作。当服务器关闭时,问题就出现了。我为了测试用例而关闭它,然后重新启动。一旦服务器重新启动,仍在等待超时的计时器将被删除。这是没有意义的,因为计时器被创建为持久的,但是每次我运行上面解释的测试用例时仍然会被删除。 以下是重新启动服务器后出现的部分日志信息:

Info:   Loading EJBTimerService. Please wait.
Info:   visiting unvisited references
Info:   visiting unvisited references
Info:   visiting unvisited references
Info:   visiting unvisited references
Info:   visiting unvisited references
Info:   EJB5181:Portable JNDI names for EJB TimerBean: [java:global/ejb-timer-service-app/TimerBean, java:global/ejb-timer-service-app/TimerBean!org.glassfish.ejb.persistent.timer.TimerLocal]
Info:   Loading application [ejb-timer-service-app] at [/ejb-timer-service-app]
Info:   ejb.timer_service_started
Info:   ==> Restoring Timers ... 
Info:   EclipseLink, version: Eclipse Persistence Services - 2.5.0.v20130507-3faac2b
Info:   JTS5014: Recoverable JTS instance, serverId = [100]
Info:   file:/C:/Users/Josimar/AppData/Roaming/NetBeans/8.0/config/GF_4.0/domain1/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App login successful
Info:   [1] EJB Timers owned by this server will be restored when timeout beans are loaded
Info:   <== ... Timers Restored.
Info:   EJB5181:Portable JNDI names for EJB SchedulerUtil: [java:global/ApplicationCIB/framework.egov.scheduler/SchedulerUtil, java:global/ApplicationCIB/framework.egov.scheduler/SchedulerUtil!mn.interactive.framework.egov.scheduler.utils.SchedulerUtil]
Warning:   Container org.glassfish.webservices.JAXWSContainer@9730004 doesn't support class com.sun.xml.ws.api.server.Module
因此,一旦相应的@TimeOut出现,就不会对该计时器执行任何操作


如何使计时器在服务器关闭后继续运行?

在各自的IDE中检查服务器的首选项或设置,并提高计时器的级别。另外,检查线程是否同步,这通常会给我的体验带来问题。 祝你好运

Info:   [1] timers deleted for id: 93015853473529856
Info:   No timers to be deleted for id: 93015853473529856
Info:   No timers to be deleted for id: 93015853473529856
Info:   No timers to be deleted for id: 93015853473529856
Info:   No timers to be deleted for id: 93015853473529856
Info:   No timers to be deleted for id: 93015853473529856
Info:   No timers to be deleted for id: 93015853473529856
Info:   No timers to be deleted for id: 93015853473529856