Tech I Enjoy Logo

Custom Search




  Home >> Miscellaneous


A very simple example using Quartz as a scheduler in a web application 
that is deployed onto Apache Tomcat web server.

Quartz has a Servlet for initialization of scheduler and it can be loaded
while web server startup time by setting  load-on-startup tag in web.xml 
file of the web application.

In this example I shall be showing various pieces of code/files to come up
/assemble those into a working example for running a JOB at some pre-defined
 or pre-configured time or with some re-occuring triggers.

So we may have to start with a Job and a Trigger, both having same group, 
as defined in the related job definition XML file such as shown below:

example_jobs.xml
....
....
<quartz>
  <job>
    <job-detail>
      <name>example_job</name>
      <group>example_group</group>
      <job-class>example.jobs.ExampleJob</job-class>
    </job-detail>
    <trigger>
      <simple>
        <name>example_trigger</name>
        <group>example_group</group>
        <job-name>example_job</job-name>
        <job-group>example_group</job-group>
        <start-time>2010-05-07 9:35:00 pm</start-time>
      </simple>
    </trigger>
  </job>
</quartz>
....
....
As you might have noticed quartz tag is having job tag and trigger tag within it. Job and Trigger name and group are to be defined. I have given same name for the group for Job and Trigger. Job class is having a custom user defined class with public no-argument constructor, and this class implements Job interface from the Quartz framework. In this example trigger is a simple type with the start time as some predefined time for testing this example. The Job class file is a dummy job with no task other than printing some text on system console, this class file is as shown below: ExampleJob.java
package example.jobs;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class ExampleJob implements Job {

  public ExampleJob() {
    System.out.println("This job constructor called...");
  }
  @Override
  public void execute(JobExecutionContext context)
                          throws JobExecutionException {

    System.out.println("inside execute method of example job");
  }
}
I have defined the Quartz specific properties file as quartz.properties
...
...
org.quartz.scheduler.instanceName = ExampleScheduler
org.quartz.scheduler.instanceId = AUTO

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2

org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = jobs/example_jobs.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
...
...
You may like to refer detail documentations from Quartz web site for knowing various properties to be used for achiving desired functionality. So atleast we should have a scheduler instance name with instance id can be AUTO generated, a simple thread pool with some thread count. There is a Job Initialization Plugin used as job intializer, that can use a file name, in this case it is example_jobs.xml file. And a provision for fail if this file not found. This web application will not be having any UI interface , so the Quartz specific servlet will not require any servlet mapping tag, as shown below the WEB.XML file:
<web-app>
 <servlet>
  <servlet-name>quartz-loader-servlet</servlet-name>
  <servlet-class>
      org.quartz.ee.servlet.QuartzInitializerServlet
  </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
</web-app>
After placing all the desired JAR file from the Quartz version 1.3.2, in the lib folder of this example, when web server started, I observed two lines printed out on console as mentioned in the Example JOB file in the constructor and the execute methods. One interesting issue I encountered while working on this example and how I resolved it, is discussed below: When I used the standard DOCTYPE definition from Quartz Framework with the DTD file as the following URL: http://www.quartzscheduler.org/dtd/job_scheduling_data_1_0.dtd in the JOB XML file, I encounted an exception while web server starting up, so I changed it to only "job_scheduling_data_1_0.dtd" and placed this dtd file in the TOMCAT bin folder. This resolved the exception at server startup and the ExampleScheduler started working as expected.. Any person having any other solution to this issue, please share with me by droping me an email @ usingframeworks @ gmail dot com. If anything missed out , please let me know at techienjoy at yahoo . com
Example using Tag Library :
Example on how to code and use
Custom Tag Library on Java Platform.
JSF example with source code :
JSF example with source code on Java Platform.
Example of using Mule ESB File Transport :
Example of using Mule ESB File Transport with simple
to explain source code.
Android Example on Expandable List :
Example on using Expandable ListView
on Android Platform.A step by step source code
explained.
Android Gallery with SurfaceView :
Example showing Android Gallery
with SurfaceView and Spinner
Wizard Framework using Java Platform :
Example using Custom Wizard Framework 
with code and explained
Android ListView Example :
Example on Android ListView 
explained with a very simple scenario
whereby showing folder and files with
structure and appropriate screens 
captured and shown.
Web Load Test with example :
Example using Load test functionalities 
with code and explained
JSF example with source code :
JSF example of Tags and Data Table 
with source code on Java Platform.
Android Example on Downloading AnyFormat :
Example on ways to download any file with
any format using Android Platform.
JSF example on Resource Bundle :
JSF example of Resource Bundle with source code 
on Java Platform.
Android Layout Example :
Android Example on using Layout
with source code Explained.
DOJO Dialog Example :
Example on using DOJO Dialog
explained with a very simple scenario
Android ListView Example :
Example on Android ListView and
explained with a very simple scenario 
and article with appropriate screens 
captured and shown.
JSF example with source code :
JSF example of Tags and SelectBoxes 
with source code on Java Platform.
Android ListView Example :
Example on Android List View
explained with a very simple scenario 
and article with appropriate screens 
captured and shown.
Android Menu and MenuItem Example :
Example using Menu and MenuItem using Android Platform 
with code and explained
Example of using Mule ESB JMS Transport :
Example of using Mule ESB JMS Transport with simple
to explain source code.
Android Sensors Example :
Example on Android Sensors Listed and
explained with a very simple scenario 
and article with appropriate screens 
captured and shown.
Using Quartz Scheduler Example :
Example on how to use Quartz Scheduler.
Android Text to Speech Example :
Android Example on using Text
2 Speech conversion explained with
source code Explained.
Example of using Log4J Part 1 :
Log4j example with source code on Java Platform.
Android Image Gradient Merge :
Example using Images and Gradient Shape using
Android Platform.
JDBC Transaction Isolation Levels :
A short write-up on JDBC Transaction
Isolation showing ways to achieve
various Isolation levels using JDBC.
Android DatePickerDialog Example :
Example on Android DatePickerDialog
explained with a very simple scenario
and appropriate screens captured and shown.
Example of using Log4J Part 2 :
Log4j example with source code on Java Platform.
Android Tab View Example :
Example on Android Tab View
explained with a very simple scenario
and appropriate screens captured and shown.
Android Example on Expandable ListView :
Example on using Expandable ListView
on Android Platform.A step by step source code
explained.
JSF example with source code :
JSF example of Tags and Code Walk-through 
with source code on Java Platform.
JSF example with source code :
JSF example of Tags and checkboxes 
with source code on Java Platform.
DOJO Tree Widget Example :
Example on using DOJO Tree Widget
explained with a very simple scenario
Android Gallery Example :
Example on Android Gallery View
explained with a very simple scenario
and appropriate screens captured and shown.
JSF example on validation :
JSF Validation with example with source code 
on Java Platform.
Android TimePickerDialog Example :
Example on Android TimePickerDialog
explained with a very simple scenario
and appropriate screens captured and shown.
List of Examples on Various Technologies :
List of Examples on Various Technologies and Frameworks.
Android ImageView Example :
Example on using ImageView using 
Android Platform. A very simple to setup
and see it working.
Android Examples :
List of ANDROid examples
with source code and output
screens captured and shown.
Google GWT Example :
Example using GWT and some design patterns and various
ways of implementing this example.
Using Different Logger Files :
Example on using different log files 
using Apache Log4j Framework.
Android Gallery Example Enhanced :
Example on Android Gallery View
explained with a very simple scenario
and appropriate screens captured and shown.
Using Apache Commons Log With Example :
Example using Apache commons log 
with code and explained


References :
Tags: TabHost and TabActivity Example on Android Platform
Tags: ListView Example on Android Platform
Tags: android sensors list
Tags: android listview example
Tags: android imageview example
Tags: Android example download any file sourcecode
Tags: android expandable list dynamically created example
Tags: android expandable list example
Tags: Android Gallery surfaceviews spinner
Tags: Android example download any file sourcecode
Tags: Android Layout Example
Tags: Android Text To Speech Example

Tags: DOJO Example Dialog
Tags: DOJO Example Tree Widget
Tags: different logger file log4j
Tags: JDBC Transaction isolation
Tags: event handling java code
Tags: example quartz scheduler
Tags: example tag library web application
Tags: Flex
Tags: index
Tags: inmemory image creation java awt
Tags: JSF Example Main
Tags: JSF Example Tags CheckBoxes
Tags: JSF Example Tags dataTable
Tags: JSF Example Tags SelectBoxes
Tags: JSF Example Tags Walkthrough
Tags: JSF Example Validation
Tags: JSF Resource Bundle
Tags: log4j example 1
Tags: log4j example
Tags: Miscellaneous
Tags: Mule ESB File Transport
Tags: Mule ESB JMS Transport
Tags: stream download batch
Tags: sychronized block wait notify
Tags: thread wait notify example
Tags: using apache commons log
Tags: web load test
Tags: Wizard Framework Idea Java



DISCLAIMER :
The content provided in this page is not warranted and/or guaranteed by techienjoy.com. 
techienjoy.com is not liable for any negative consequences that may result/arise from 
implementing directly/indirectly any information covered in these pages/articles/tutorials.

All contents of this site is/are written and provided on an "AS IS" basis,
without WARRANTIES or conditions of any kind, either express or implied, including, without
limitation, merchantability, or fitness for a particular purpose. You are solely responsible
for determining the appropriateness of using or refering this and assume any risks associated
with this.

In spite of all precautions taken to avoid any typo in these pages, there might be some 
issues like grammatical mistakes and typos being observed in these pages, techienjoy.com
extends sincerest apologies to all our visitors for the same.



Android Examples || Android Examples

© Copyright 2010-2012, TECHIENJOY, All Rights Reserved.      Privacy Policy     Disclaimer & Terms & Conditions