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>/
For mail server configuration, there is an additional property setting for authentication in the following file:
<app-server-path>/webapps/
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/
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
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/
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.