Well, I use a servlet that is kicked off at container start(On TC 3.x
used <load-on-startup> attribute, TC 5.x+ there is something else which
is now part of the J2EE spec). Most other containers have a
<load-on-startup> type attribute available to them. When that servlet is
init()ed at container start I kick off a class which loads more class
names out of the web.xml that are Runnable. This parent class then kicks
off a thread for each Runnable, and handles making sure they are all
reaped when the destroy() method of the servlet is called(usually at
container shutdown). There are better ways of doing this now with the
newer TC's. If you don't shutdown your child threads, there may be a
possibility that they will remain running after TC stops.
Good luck.
-JW
Lionel Farbos wrote:
I think that what you want, with this feature, is a daemon (but not a servlet that respond to requests).
So,
Tomcat don't have to implement anything for this (it's not in its sphere of activities).
I think that crons (eventually with httpclients), TimerTasks, ... are more
usefull for this need...
On Thu, 3 Mar 2005 08:27:46 -0500
"Parsons Technical Services" <[EMAIL PROTECTED]> wrote:
With all the questions and suggestions flying around, a question to the
other programmers: If one was to write a class for the purpose of running
classes at set times, what pitfalls would one need to watch for?
I have a class that loads on startup and runs a continuous loop that is
timed (sleeps, wakes up, does something, sleeps again). It runs fine, but I
know that it could be better.
Any guidance or suggestions would be appreciated. And maybe we could create
an add-on and post it for use in apps that need such a device.
Thanks
Doug
----- Original Message -----
From: "Nikola Milutinovic" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
Sent: Thursday, March 03, 2005 6:55 AM
Subject: Re: Equivalent of Resin "run-at" servlet configuration
Subramanya Sastry wrote:
Hello,
I am developing a Java web application, and one of the requirements is to
run a particular servlet periodically, or even at specified times. Resin
provides this ability via its "run-at" configuration element for servlets
in web.xml
Example Resin configuration:
<servlet>
<servlet-name>download</servlet-name>
<servlet-class>DownloadNewsServlet</servlet-class>
<run-at period='360m'/>
</servlet>
However, I haven't found an equivalent configuration for Tomcat. I
searched
the web and was unsuccessful. So, any pointers as to how I could achieve
this
for Tomcat would be appreciated.
There is none and shouldn't be any. I understand the need to run
periodical tasks, but J2EE specification, prior to 1.4 has no such
provisions. Further, Servlet/JSP specification has no such provision, even
in J2EE 1.4. You'd be best advised to setup a cron-job to perform this
periodic activity. There are several good HTTP client packages out there,
Jakarta-Commons HTTPclient, to name one, that will help you in building
the client side of your cron-job.
Nix.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]