@@ -39,6 +39,8 @@ public class VMScheduledJobDaoImpl extends GenericDaoBase<VMScheduledJobVO, Long
3939
4040 private final SearchBuilder <VMScheduledJobVO > expungeJobForScheduleSearch ;
4141
42+ private final SearchBuilder <VMScheduledJobVO > scheduleAndTimestampSearch ;
43+
4244 static final String SCHEDULED_TIMESTAMP = "scheduled_timestamp" ;
4345
4446 static final String VM_SCHEDULE_ID = "vm_schedule_id" ;
@@ -58,6 +60,11 @@ public VMScheduledJobDaoImpl() {
5860 expungeJobForScheduleSearch .and (VM_SCHEDULE_ID , expungeJobForScheduleSearch .entity ().getVmScheduleId (), SearchCriteria .Op .IN );
5961 expungeJobForScheduleSearch .and (SCHEDULED_TIMESTAMP , expungeJobForScheduleSearch .entity ().getScheduledTime (), SearchCriteria .Op .GTEQ );
6062 expungeJobForScheduleSearch .done ();
63+
64+ scheduleAndTimestampSearch = createSearchBuilder ();
65+ scheduleAndTimestampSearch .and (VM_SCHEDULE_ID , scheduleAndTimestampSearch .entity ().getVmScheduleId (), SearchCriteria .Op .EQ );
66+ scheduleAndTimestampSearch .and (SCHEDULED_TIMESTAMP , scheduleAndTimestampSearch .entity ().getScheduledTime (), SearchCriteria .Op .EQ );
67+ scheduleAndTimestampSearch .done ();
6168 }
6269
6370 /**
@@ -92,4 +99,12 @@ public int expungeJobsBefore(Date date) {
9299 sc .setParameters (SCHEDULED_TIMESTAMP , date );
93100 return expunge (sc );
94101 }
102+
103+ @ Override
104+ public VMScheduledJobVO findByScheduleAndTimestamp (long scheduleId , Date scheduledTimestamp ) {
105+ SearchCriteria <VMScheduledJobVO > sc = scheduleAndTimestampSearch .create ();
106+ sc .setParameters (VM_SCHEDULE_ID , scheduleId );
107+ sc .setParameters (SCHEDULED_TIMESTAMP , scheduledTimestamp );
108+ return findOneBy (sc );
109+ }
95110}
0 commit comments