Monday, January 11, 2010

Tuning Quartz Scheduler

If our bpel process has lot of wait and onalram activities then in some cases some of the alrams may not fire or the wait activity doesn't expire on time.You might not be able to fix this issue as you might not receive any error in the log files.To understand this you need to understand the concept of quartz scheduler.

Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java EE or Java SE application - from the smallest stand-alone application to the largest e-commerce system.

The BPEL engine makes use of Quartz mainly for expiration of wait and onAlarm activities beside that it also uses it for enabling polling of activation agents and scheduling execution of activities.


In BPEL, the number of Quartz threads can be tuned by changing the com.oracle.bpel.expirationAgent.threadCount properties in ORACLE_HOME/bpel/domain/DOMAIN_NAME/config/resources-quartz.properties file. This parameter controls the number of threads to schedule expiration events for Wait and onAlarm activities

Its default value is 10 and there is no specific rules to set it you have to do some R & D to get the best value for your environment.Starting value can be taken as 25 and so on it can be changed to get the best for your environment.

One can follow the following link to get more idea about quartz scheduler

http://www.quartz-scheduler.org/docs/quick_start_guide.html

No comments: