What's new in EzyPlatform 1.2.9?
This release introduces a more controlled Scheduler lifecycle, updates the default schedulers across Admin, Web, and Socket runtimes, upgrades core platform dependencies, and standardizes the Maven Checkstyle configuration.
-
Improved Scheduler lifecycle managementIntroduced
Scheduler.start()to explicitly start the task-scanning loop. ASchedulerinstance no longer begins running immediately after construction, giving applications better control over when scheduled tasks start. Thestart()method is protected byAtomicBoolean, ensuring the scheduler can only be started once even if the method is invoked multiple times. -
Improved task submission reliabilityEnhanced error handling when submitting tasks to the
ExecutorService. If task submission fails, the scheduler automatically removes the task from the running-task list, preventing stale task states and improving scheduler stability. -
Updated default schedulers for Admin, Web, and SocketThe platform's built-in schedulers have been updated to align with the new lifecycle model.
AdminScheduleRunnernow callsscheduler.start()before registering scheduled jobs. A newWebSchedulerConfigautomatically starts theWebSchedulerafter bean initialization. Socket scheduling has been split intoSocketSchedulerConfigBeforefor singleton registration andSocketSchedulerConfigAfterfor starting the scheduler with the highest configuration priority. -
Upgraded platform dependenciesUpdated several core dependencies, including
ezyfoxto1.0.8,ezyto1.3.1,ezy-httpto1.5.6,ezy-serverto1.3.1.3,game-boxto1.2.9,thymeleafto3.1.5.RELEASE,thymeleaf-layout-dialectto3.4.0, andrhinoto1.7.15.1. -
Standardized Maven Checkstyle configurationThe
maven-checkstyle-pluginconfiguration has been standardized by replacing the hard-coded version3.1.2with the shared propertyacross projectpom.xmlfiles and project templates, making dependency management more consistent. -
Compatibility notesApplications that create
new Scheduler(...)instances directly must now explicitly callscheduler.start()before scheduled tasks can execute. The built-in Admin, Web, and Socket schedulers have already been updated to use the new lifecycle automatically.