Description of problem: EAP 5 could disable EJB timer service persistence by NoopPersistencePolicy. However, EAP 6 does not have setting to disable persistence configuration. Version-Release number of selected component (if applicable): JBoss EAP 6.1.0 How reproducible: Steps to Reproduce: 1. Remove data-store attribute in timer-service subsistem. ex) standalone.xml <timer-service thread-pool-name="default"> <!-- <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/> --> </timer-service> 2. Start EAP 6 server 3. You can confirm following exception. ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.ejb3.timerService.fileTimerPersistence: org.jboss.msc.service.StartException in service jboss.ejb3.timerService.fileTimerPersistence: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] 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.IllegalArgumentException: JBAS014747: abstractPath is null at org.jboss.as.controller.services.path.AbsolutePathService.convertPath(AbsolutePathService.java:81) at org.jboss.as.controller.services.path.PathManagerService.resolveRelativePathEntry(PathManagerService.java:85) at org.jboss.as.ejb3.timerservice.persistence.filestore.FileTimerPersistence.start(FileTimerPersistence.java:116) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] ... 3 more Actual results: Even if data-store is not necessary for persistence, we must set it. Expected results: We need setting to disable persistence configuration. Additional info: If you do not need EJB timer service persistence data, you can delete persistence data file (standalone/data/timer-service-data/*) before EAP server re-boot.
This isn't a bug. The EJB spec says that timers are persistent by default, unless the user explicitly marks it as non persistent. If this is being requested as an enhancement i.e. disabling persistence completely at the server level then please open a dev discussion in the wildfly dev mailing list http://lists.jboss.org/pipermail/wildfly-dev/ so that we can decide whether this is worth introducing in upstream and what its implications will be for applications which have timer persistence enabled.