0

I am using quartz 2.x version.

I need get column TRIGGER_TYPE from QRTZ_TRIGGERS tables.

using API, how to get TRIGGER_TYPE?

This is my code:

for (String group : scheduler.getTriggerGroupNames()) {
    for (TriggerKey triggerKey : scheduler.getTriggerKeys(GroupMatcher.<TriggerKey>groupEquals(group))) {
        Trigger trigger = scheduler.getTrigger(triggerKey(triggerKey.getName(), triggerKey.getGroup()));
        System.out.println(scheduler.getSchedulerName());
        System.out.println(triggerKey.getName());
        System.out.println(triggerKey.getGroup());
        System.out.println(trigger.getJobKey());
        //job name
        //job group
        System.out.println(trigger.getDescription());
        System.out.println(trigger.getNextFireTime());
        System.out.println(trigger.getPreviousFireTime());
        System.out.println(trigger.getPriority());
        System.out.println(scheduler.getTriggerState(triggerKey(triggerKey.getName(), triggerKey.getGroup())));
        //trigger type
        System.out.println(trigger.getStartTime());
        System.out.println(trigger.getEndTime());
        System.out.println(trigger.getCalendarName());
        System.out.println(trigger.getMisfireInstruction());
    }
}
Sampada
  • 2,931
  • 7
  • 27
  • 39
zeronine09
  • 23
  • 5
  • What does the Quartz documentation have to say about accessing TRIGGER_TYPE? Have you tried something like `SELECT TRIGGER_TYPE FROM QRTZ_TRIGGERS`? – lit Apr 17 '17 at 02:02
  • I would like to import it using the API instead of importing from db, but I can import other values into the API, but I can not find the API that gets TRIGGER_TYPE. Do you know? – zeronine09 Apr 17 '17 at 02:23
  • improved grammar and formatting – Sampada Apr 19 '17 at 11:57

2 Answers2

0

There are 2 Trigger types, SimpleTrigger and CronTrigger.

Maybe look at their API. You will probably get clues there on how to distinguish between the two.

aedan
  • 209
  • 4
  • 12
0

The TRIGGER_TYPE information in the QRTZ_TRIGGERS is reflected at runtime in the specific Java type of the Trigger implementation:

  • CalendarIntervalTriggerImpl -> TTYPE_CAL_INT,
  • CronTriggerImpl -> TTYPE_CRON,
  • DailyTimeIntervalTriggerImpl -> TTYPE_DAILY_TIME_INT and
  • SimpleTriggerImpl -> TTYPE_SIMPLE.

There is also a default trigger type for custom Trigger types: TTYPE_BLOB.

Note that if you really want to access that information at runtime, you are better off using the following code:

TriggerPersistenceDelegate tDel = new StdJDBCDelegate().findTriggerPersistenceDelegate(trigger);

String type = TTYPE_BLOB;
if(tDel != null)
  type = tDel.getHandledTriggerTypeDiscriminator();
Louis Jacomet
  • 13,661
  • 2
  • 34
  • 43