@@ -70,11 +70,14 @@ public void shutdownNow() {
7070 }
7171
7272 public SchedulerEntity pingRegistry () {
73- var result = editSchedulerStatus .checkinToRegistry (name );
74- result .setRunnungTasks (taskExecutor .getRunningTasks ());
75- result .setTasksSlotCount (taskExecutor .getMaxThreads ());
76- log .debug ("Ping {}" , result );
77- return result ;
73+ // using trx template to ensure the TRX is started if we use this method internally
74+ return trx .execute (t -> {
75+ var result = editSchedulerStatus .checkinToRegistry (name );
76+ result .setRunnungTasks (taskExecutor .getRunningTasks ());
77+ result .setTasksSlotCount (taskExecutor .getMaxThreads ());
78+ log .debug ("Ping {}" , result );
79+ return result ;
80+ });
7881 }
7982
8083 public SchedulerEntity getScheduler () {
@@ -100,21 +103,16 @@ public List<Future<TriggerKey>> triggerNextTasks() {
100103 */
101104 @ NonNull
102105 public List <Future <TriggerKey >> triggerNextTasks (OffsetDateTime timeDue ) {
103- var triggers = trx .execute (t -> {
104- List <TriggerEntity > result ;
105- // in any case we say hello
106- final var runningOn = pingRegistry ();
107- if (taskExecutor .getFreeThreads () > 0 ) {
108- result = triggerService .lockNextTrigger (
109- name , taskExecutor .getFreeThreads (), timeDue );
110- runningOn .setRunnungTasks (taskExecutor .getRunningTasks () + result .size ());
111- } else {
112- result = Collections .emptyList ();
113- log .debug ("triggerNextTasks({}) skipped as no free threads are available." , timeDue );
114- }
115- return result ;
116- });
117- return taskExecutor .submit (triggers );
106+ List <TriggerEntity > triggers ;
107+ if (taskExecutor .getFreeThreads () > 0 ) {
108+ triggers = triggerService .lockNextTrigger (
109+ name , taskExecutor .getFreeThreads (), timeDue );
110+ } else {
111+ triggers = Collections .emptyList ();
112+ }
113+ var result = taskExecutor .submit (triggers );
114+ pingRegistry ();
115+ return result ;
118116 }
119117
120118 /**
0 commit comments