Shouldn't have a race condition on init. init should only be called one time 
before any client connection is allowed to be served for the servlet. Now, if a 
process is kicked off in another thread in init and proper locking isn't used 
and two things access resources or classes then a race condition might ensue, 
but otherwise I don't see the exact problem. Proper locking should always be 
used in code one writes or at least the APIs being used should be studied 
enough to know how a given use case will impact them. If caching is handled as 
needed and it is just a warm up prep of the cache then a single first 
connection will work fine. It depends on exactly what is going on.

Wade


----- Original Message ----
From: Pid <[EMAIL PROTECTED]>
To: Tomcat Users List <users@tomcat.apache.org>
Sent: Monday, November 5, 2007 12:08:25 PM
Subject: Re: running! a servlet at tomcat startup


Wade Chandler wrote:
> Yes, and in the listener I would then utilize some kind of other web
 client to actually perform a first request. You can use something like
 HttpClient or one of the command line text browsers and Runtime.exec.
 It would probably be easier than trying to simulate with some other
 means, but I may be wrong..especially if you already know what you are
 doing will work without having to have the extra client connection, but it
 would seem a lot less code to just have a config file you fill in and a
 client which makes a simple http web request.

I hope the populating of the cache is done programmatically, rather
 than
by making connections, because AFAIK the Context won't start serving
pages until it's finished starting up.

You could have a race condition if you're using a listener or a servlet
init() method, if your populating starts before the pages are
 available.

p



> ----- Original Message ----
> From: "Caldarale, Charles R" <[EMAIL PROTECTED]>
> To: Tomcat Users List <users@tomcat.apache.org>
> Sent: Monday, November 5, 2007 10:39:47 AM
> Subject: RE: running! a servlet at tomcat startup
> 
> 
>> From: loredana loredana [mailto:[EMAIL PROTECTED] 
>> Subject: Re: running! a servlet at tomcat startup
>>
>> In case ur wondering why I used a servlet to fill 
>> the cache is because I need some variables like 
>> request.getContenxtPath, getRealPath() etc. 
> 
> Wouldn't a ServletContextListener be more appropriate for this kind
 of
> activity?  See section 10 of the servlet spec for details.
> 
>  - Chuck
> 
> 
> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE
>  PROPRIETARY
> MATERIAL and is thus for use only by the intended recipient. If you
> received this in error, please contact the sender and delete the
 e-mail
> and its attachments from all computers.
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to