Deploying Java @Schedule with Wildfly 8.1.0 Final

I am trying to test the @Schedule annotation with the following code:

import javax.ejb.Schedule; import javax.ejb.Singleton; import javax.ejb.Startup; @Singleton @Startup public class TimerTest { public TimerTest() { } @Schedule(second = "*", minute = "*", hour = "*") public void sayHello() { System.out.println("Hello"); } } 

However, when I deploy it to a separate instance of wildfly 8.1.0 (final), I get the following error messages in the logs:

 2014-09-23 08:38:03,076 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."test-server.war".component.TimerTest.ejb3.timerService: org.jboss.msc.service.StartException in service jboss.deployment.unit."test-server.war".component.TimerTest.ejb3.timerService: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25] Caused by: java.lang.NullPointerException at org.jboss.as.ejb3.timerservice.TimerServiceImpl.doesTimeoutMethodMatch(TimerServiceImpl.java:959) at org.jboss.as.ejb3.timerservice.TimerServiceImpl.restoreTimers(TimerServiceImpl.java:710) at org.jboss.as.ejb3.timerservice.TimerServiceImpl.start(TimerServiceImpl.java:202) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] ... 3 more 2014-09-23 08:38:07,098 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "test-server.war")]) - failure description: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"test-server.war\".component.TimerTest.ejb3.timerService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"test-server.war\".component.TimerTest.ejb3.timerService: Failed to start service Caused by: java.lang.NullPointerException"}} 2014-09-23 08:38:07,145 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report JBAS014777: Services which failed to start: service jboss.deployment.unit."test-server.war".component.TimerTest.ejb3.timerService: org.jboss.msc.service.StartException in service jboss.deployment.unit."test-server.war".component.TimerTest.ejb3.timerService: Failed to start service JBAS014777: Services which failed to start: service jboss.deployment.unit."test-server.war".component.TimerTest.ejb3.timerService 

Any ideas as to what could be causing this?

+5
source share
1 answer

I have seen this before. In your WildFly directory, if you are performing an offline deployment, there will be offline data / data / timer service data. There are probably some old timerService data in this directory. Turn off the server, delete this data and try again.

This is probably the data from a test run that did not complete before the server shut down. Remember that timerService is persistent. Therefore, if there are unresolved tasks at the server shutdown, it will first try to pick up these tasks. If you upgrade your war, then these timer processes will probably no longer match the processes in the war.

+10
source

Source: https://habr.com/ru/post/1203192/


All Articles