Quartz Scheduling Properties

Overview

This article is a short list of Quartz Scheduling Properties available for JasperReports Server and categorized by files in jasperserver(-pro)/WEB-INF folder. For a step by step guide to set up scheduling functions, please see Configuring the JasperReports Server Scheduling Function page.

applicationContext-report-scheduling.xml

Scheduler disabling

remove init-method="start"

<bean depends-on="reportSchedulingService"
      id="quartzSchedulerControl"
      init-method="start">
     <property name="scheduler" ref="quartzScheduler" />
</bean>

js.quartz.base.properties

Note for WebSphere users: In JasperReports Server 3.7 and higher, a work manager class is used to run scheduled report jobs under WebSphere. The JNDI name of the work manager is configured in the WebSphere version of js.scheduling.properties. Scheduling options in WebSphere should be set via the work manager.

Instance name

Used internally by the scheduler; there is no need to modify this value

org.quartz.scheduler.instanceName

ID of current instance

Set to AUTO when JasperReports Server is clustered (that is when there are multiple JasperReports Server instances sharing the same metadata DB).

org.quartz.scheduler.instanceID

Clustered mode

Determines whether the scheduler runs in clustered mode. Set to true when JasperReports Server is clustered.

org.quartz.jobStore.isClustered=true

Cluster check-in interval

The interval after which a report job running on a JasperReports Server instance is considered to have failed and a different instance reattempts to run it. Report jobs that take longer than this interval to complete could be executed several times on different instances. Therefore, this value should be larger than the longest running report job.

org.quartz.jobStore.clusterCheckinInterval=180000

Misfire threshold

Number of milliseconds beyond the scheduled time after which a job should be skipped. A report job might not be able to run at its scheduled time for several reasons (the server is down, there are too many jobs); if the amount of time specified by the misfire threshold passes then the job is considered misfired and JasperReports Server no longer attempts to run it. The job will run at the following fire time if it's a recurring job.

org.quartz.jobStore.misfireThreshold=180000

Schedule job threads per server

Integer number of concurrent threads that run report jobs. On multicore machines, the value can be increased if there are many jobs scheduled to run at the same time.

org.quartz.threadPool.threadCount=3

Schedule report thread priority

The priority of the Java threads that run report jobs. Values are from 1 to 10, with 10 being the highest priority. If the same JasperReports Server instance is used for both UI and scheduled jobs, it makes to use a lower value so that UI threads have precedence over scheduler threads.

org.quartz.threadPool.threadPriority=5


js.quartz.properties

Deployment uri

The URI to your JasperReports Server installation

report.scheduler.web.deployment.uri=http://www.yourdomain.com/jasperserver-pro

Mail server username

Mail server account user

report.scheduler.mail.sender.username=myusername

Mail server password

Mail server account password

report.scheduler.mail.sender.password=mypassword

Outbound mail protocol

smtp,pop3

report.scheduler.mail.sender.protocol=smtp

Outbound mail server

Domain of the outbound email server

report.scheduler.mail.sender.host=outbound.yourdomain.com

Outbound mail server port

Port that your outbound server is listening on

report.scheduler.mail.sender.port=25

Sender email address

report.scheduler.mail.sender.from=yourname@yourdomain.com


See also...

Feedback
randomness