Quartz Integration

Learn how to send check-ins for your Quartz jobs.

Sentry's Quartz integration is provided through SenryJobListener which you have to add to your scheduler instance.

The Quartz integration will be configured automatically if you're using spring-boot-starter-quartz with either the sentry-spring-boot-starter or the sentry-spring-boot-jakarta-starter integration. However, you still have to specify the monitor slug as shown below.

Check-ins may also be sent manually or if you're using Sentry's Spring Boot integration you can send send check-ins for your @Scheduled tasks by using our @SentryCheckIn annotation.

To install use:

Copied
plugins {
  id "io.sentry.jvm.gradle" version "4.6.0"
}

For other dependency managers, check out the central Maven repository.

You have to provide the monitor slug either

  • when building a Quartz JobDetail instance
  • or when building a Quartz Trigger instance

To do so, you have to add an entry to the jobs data map:

Copied
import io.sentry.quartz.SentryJobListener;

// you can set the monitor slug on the job detail
JobDetailFactoryBean jobDetailFactory = new JobDetailFactoryBean();
jobDetailFactory.setJobDataAsMap(Collections.singletonMap(SentryJobListener.SENTRY_SLUG_KEY, "<monitor-slug>"));

// you can also set the monitor slug on the trigger
SimpleTriggerFactoryBean trigger = new SimpleTriggerFactoryBean();
trigger.setJobDataAsMap(Collections.singletonMap(SENTRY_SLUG_KEY, "monitor_slug_simple_trigger"));

Setting the monitor slug on the Trigger will override what is set on the JobDetail. This also means you can set up a separate monitor per Trigger.

Setting a global job listener using a SchedulerFactoryBeanCustomizer in Spring Boot, will override the listener set by Sentry. For Sentry to work properly, you need to add a new SentryJobListener instance to the global job listeners.

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").