I found something interesting, maybe is what I need!
Spring and Quartz together is a good solution but I don't want another
component in my java web application.
What's your opinion?

1) It would be helpful to show an example of how to configure Quartz to work
without a custom servlet. It can be done and is probably the most likely way
people will use it within a J2EE application. I recently implemented
something like this, and had to figure it out for myself since the Quartz
docs weren't very explicit. Basically, you
-Configure your web app to use the Quartz initializer servlet, loading on
startup. For example (from web.xml):

<servlet>
<servlet-name>quartz</servlet-name>
<display-name>Quartz Initializer Servlet</display-name>
<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

-Add a "quartz.properties" file to your classpath, indicating how jobs will
be loaded (as well as the quartz system properties). For example (from
quartz.properties):

org.quartz.plugin.jobInitializer.class =
org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz-jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true

-Add an xml file configuring your jobs and triggers, using the file name
specified under the "org.quartz.plugin.jobInitializer.fileName" property.
For example (from quartz-jobs.xml, in this case):

 <job>
    <job-detail>
      <name>alertJob</name>
      <group>alertJobs</group>
      <job-class>com.somecompany.AlertJob</job-class>
      <volatility>false</volatility>
      <durability>false</durability>
      <recover>false</recover>
    </job-detail>
    <trigger>
      <cron>
        <name>dailyTrigger</name>
        <group>alertTriggers</group>
        <job-name>alertJob</job-name>
        <job-group>alertJobs</job-group>
        <!-- every night at 2:15AM, M-F -->
        <cron-expression>0 15 2 ? * MON-FRI</cron-expression>
      </cron>
    </trigger>
  </job>

Again, I think this is the most flexible, easy to use way to implement
quartz, and I'm surprised it's not documented better. In most systems I use,
I don't want to hard-code something like a scheduled process that might be
subject to frequent scheduling change.

2) The author mentions the "userThreads" setting for application servers to
allow Quartz to use user threads. Unfortunately, I'm kind of thread-dumb, so
I don't exactly know what this means or why it's important. What happens if
Quartz is deployed without this setting? What implications does this setting
have to other aspects of server performance (will it cause a conflict with
some other setting)? I actually am in the middle of deploying an app that
uses Quartz on OC4J and would like to be aware of the implications and
necessity of this setting.


On 9/6/07, Pid <[EMAIL PROTECTED]> wrote:
>
> Andrew Hole wrote:
> > I can't find an example of using Quartz to scheduling jobs on Tomcat Web
> > application.
> > Someone already work with Quartz? Could you share a hello world sample?
> >
> > Thanks a lot
> >
>
> http://www.opensymphony.com/quartz/wikidocs/Tutorial.html
>
> http://www.opensymphony.com/quartz/wikidocs/QuickStart.html
>
>
> http://forums.opensymphony.com/search.jspa?threadID=&q=tomcat&objID=f6&dateRange=last90days&userID=&numResults=15&rankBy=10001
>
>
> Google is your friend.
>
>
> p
>
>


On 9/6/07, Pid <[EMAIL PROTECTED]> wrote:
>
> Andrew Hole wrote:
> > I can't find an example of using Quartz to scheduling jobs on Tomcat Web
> > application.
> > Someone already work with Quartz? Could you share a hello world sample?
> >
> > Thanks a lot
> >
>
> http://www.opensymphony.com/quartz/wikidocs/Tutorial.html
>
> http://www.opensymphony.com/quartz/wikidocs/QuickStart.html
>
>
> http://forums.opensymphony.com/search.jspa?threadID=&q=tomcat&objID=f6&dateRange=last90days&userID=&numResults=15&rankBy=10001
>
>
> Google is your friend.
>
>
> p
>
>
  • Re: Quartz Andrew Hole

Reply via email to