@@ -72,6 +72,7 @@ public class SchedulerBroker extends BrokerFilter implements JobListener {
7272 private final JobSchedulerStore store ;
7373 private JobScheduler scheduler ;
7474 private int maxRepeatAllowed = MAX_REPEAT_ALLOWED ;
75+ private boolean deleteAllSchedulerdMessagesOnStartup ;
7576
7677 public SchedulerBroker (BrokerService brokerService , Broker next , JobSchedulerStore store ) throws Exception {
7778 super (next );
@@ -212,6 +213,9 @@ public synchronized JobScheduler getJobScheduler() throws Exception {
212213 public void start () throws Exception {
213214 this .started .set (true );
214215 getInternalScheduler ();
216+ if (deleteAllSchedulerdMessagesOnStartup ) {
217+ deleteAllScheduledMessages ();
218+ }
215219 super .start ();
216220 }
217221
@@ -364,6 +368,11 @@ private void doSchedule(Message messageSend, Object cronValue, Object periodValu
364368 new ByteSequence (packet .data , packet .offset , packet .length ), cronEntry , delay , period , repeat );
365369 }
366370
371+ private void deleteAllScheduledMessages () throws Exception {
372+ LOG .info ("Deleting all scheduled messages on startup because deleteAllScheduledMessagesOnStartup configuration has been provided" );
373+ getInternalScheduler ().removeAllJobs ();
374+ }
375+
367376 @ Override
368377 public void scheduledJob (String id , ByteSequence job ) {
369378 org .apache .activemq .util .ByteSequence packet = new org .apache .activemq .util .ByteSequence (job .getData (), job .getOffset (), job .getLength ());
@@ -487,4 +496,12 @@ public int getMaxRepeatAllowed() {
487496 public void setMaxRepeatAllowed (int maxRepeatAllowed ) {
488497 this .maxRepeatAllowed = maxRepeatAllowed ;
489498 }
499+
500+ public boolean getDeleteAllSchedulerdMessagesOnStartup () {
501+ return deleteAllSchedulerdMessagesOnStartup ;
502+ }
503+
504+ public void setDeleteAllSchedulerdMessagesOnStartup (boolean deleteAllSchedulerdMessagesOnStartup ) {
505+ this .deleteAllSchedulerdMessagesOnStartup = deleteAllSchedulerdMessagesOnStartup ;
506+ }
490507}
0 commit comments