Configuring Report Scheduling

The JasperReports Server report scheduling feature is powered by the Quartz scheduler tool. The configuration settings for Quartz-based report scheduling is automatically handled by buildomatic.

In a deployed JasperReports Server instance, you will find the js.quartz.properties file in the following location:

<app-server-path>/jasperserver/WEB-INF/js.quartz.properties

For mail server configuration, there is an additional property setting for authentication in the following file:

<app-server-path>/webapps/jasperserver/WEB-INF/applicationContext-report-scheduling.xml

The following configurations are discussed in this section:

     Mail Server Configuration
     Quartz Driver Delegate Class
     Report Scheduler Web URI
     Quartz Table Prefix
     Settings for import-export
     Setting Properties in the default_master.properties File

Mail Server Configuration Settings

If you schedule reports or run them in the background, you can specify email addresses to notify when the report completes. To use this feature, configure JasperReports Server to contact an email server:

Configuration File

<app-server>/<deployment>/WEB-INF/js.quartz.properties

Property

Description

report.scheduler.mail.sender.host

The name of the computer hosting the mail server

report.scheduler.mail.sender.username

The name of the user in the mail server that JasperReports Server can use

report.scheduler.mail.sender.password

The password of the mail server user

report.scheduler.mail.sender.from

The address that appears in the From field on email notifications

report.scheduler.mail.sender.protocol

The protocol that the mail server uses. JasperReports Server only supports SMTP.

Note: Your entry must be lower case. For example: smtp

report.scheduler.mail.sender.port

The port number that the mail server uses. For SMTP, the default is typically 25 (values other than 25 may not work in earlier JasperReports Server versions).

Configuration File

<app-server>/<deployment>/WEB-INF/applicationContext-report-scheduling.xml

Property

Bean

Description

javaMailProperties key="mail.smtp.auth"

reportScheduler

MailSender

If your mail server requires authentication, change this property from false to true.

Database Settings for the Quartz Driver Delegate Class

Quartz uses the Quartz driver delegate class to interact with the JDBC driver.

If you used buildomatic to install JasperReports Server, the correct value of the Quartz driver delegate class is set automatically for your database.

If you didn’t use buildomatic to install JasperReports Server, use this table to edit the js.quartz.properties file and set the value of the Quartz driver delegate class to the correct value for your database:

Configuration File

<app-server>/<deployment>/WEB-INF/js.quartz.properties

Property

Database

Value

quartz.delegateClass

MySQL

org.quartz.impl.jdbcjobstore.StdJDBCDelegate

PostgreSQL

org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

Settings for the Report Scheduler Web URI

JasperReports Server uses the Report Scheduler Web URI to construct the link it sends in the output from a scheduled job. This link must be correct for the user to access the report on the server.

The port on which you run JasperReports Server and context root of the deployed JasperReports Server web application determine the report scheduler Web URI. The default context root is jasperserver.

To set this value manually, edit the following file: <app-server>/<deployment>/WEB-INF/js.quartz.properties. Change the properties for your application server as shown in the following table.

Property

App Server

Example Value

report.scheduler.<br />web.deployment.uri

Apache Tomcat

http://localhost:8080/<MadCap:conditionalText data-mc-conditions="JasperConditions.Community">jasperserver</MadCap:conditionalText>

JBoss

http://localhost:8080/<MadCap:conditionalText data-mc-conditions="JasperConditions.Community">jasperserver</MadCap:conditionalText>

GlassFish

http://localhost:8080/<MadCap:conditionalText data-mc-conditions="JasperConditions.Community">jasperserver</MadCap:conditionalText>

Settings for the Quartz Table Prefix

For databases that support schemas, you can set the Quartz table prefix so that it includes the schema if you use one.

If you installed JasperReports Server using buildomatic the Quartz table prefix is set automatically.

To set this value, edit the file <app-server>/<deployment>/WEB-INF/js.quartz.properties. Change the following property:

Property

Description

quartz.tablePrefix

The prefix for the quartz table, including any schema name.

Settings for Import-Export

If you are manually configuring the import-export shell scripts instead of using the buildomatic, make sure your settings for the Quartz driver delegate class property are correct for the database you are using.

If you installed using buildomatic these settings are handled automatically (in buildomatic import-export).

To configure the import-export scripts manually, edit the following file:

<js-install>/buildomatic/conf_source/ieCE/js.quartz.properties

Change the following properties:

Property

Description

quartz.delegateClass

Set to the same value as described in Database Settings for the Quartz Driver Delegate Class.

quartz.tablePrefix

Set to the same value as described in Settings for the Quartz Table Prefix

Setting Properties in the default_master.properties File

At installation time, there is a group of properties that can be set in order to configure JasperReports Server functionality. These properties are found in the default_master.properties file. They can be un-commented to set them to the non-default values that will take effect upon installation. Look in the default_master.properties file for additional details.

Your default_master.properties file should be found here:

<js-install>/buildomatic/default_master.properties

A sample master.properties can be found here (in the case of PostgreSQL):

<js-install>/buildomatic/sample_conf/postgresql_master.properties

When the js-install-ce.sh/bat script is executed (or the underlying deploy-webapp-ce ant target), these properties will set into the deployed JasperReports Server in the js.quartz.properties file.

Report Scheduler Email Properties

As of Release 5.5, properties have been added that will set configuration for the Report Scheduler Email properties.

The properties that can be set are the following (default values are shown):

quartz.mail.sender.host=mail.localhost.com

quartz.mail.sender.port=25

quartz.mail.sender.protocol=smtp

quartz.mail.sender.username=admin

quartz.mail.sender.password=password

quartz.mail.sender.from=admin@localhost.com

quartz.web.deployment.uri=http://localhost:8080/jasperserver

Diagnostic Properties

Properties which will set the configuration of the Diagnostic functionality:

diagnostic.jmx.usePlatformServer = false

diagnostic.jmx.port = 10990

diagnostic.jmx.name = jasperserver

diagnostic.jmx.rmiHost = localhost

Look at the descriptions of the properties in the default_master.properties file and also refer to the JasperReports Server Administrator Guide for more information on these settings.

Version: 
Feedback