If you implement the SingleThreadModel interface for your Servlet class,
TomCat will create a new instance for each request. 

Albert

-----Original Message-----
From: kwirirai [mailto:[EMAIL PROTECTED] 
Sent: Monday, February 09, 2004 2:12 PM
To: Tomcat Users List
Subject: Re: Servlet thread safety in Tomcat

But if  I am to synchronise my code blocks won't that slow done the 
application, or is there a "mode" that you can put Tomcat into so that 
it will create a new instance
servlet thread  with its own variables and execution space and stuff 
like that .Because I was thinking  putting all those synchronized blocks 
will slow down the app.

David Ramsey wrote:

>Your primary mistake seems to be in assuming that Tomcat will create a
>new instance of a servlet for every thread started. This is not what
>happens, therefore servlet instance variables are not thread safe
>unless you take additional actions to make them safe. Likewise,
>application global entities, such as singletons, won't be thread safe
>without taking additional actions on your part. The short rule is
>simply if two threads might access this data concurrently, then you
>need to protect yourself from such a collision. About the only thing
>that is mostly thread safe are objects whose scope is limited to a
>single method, but even these can get you in trouble if you put
>references to those objects in global locations (such as an application
>wide cache).
>
>
>--- kwirirai <[EMAIL PROTECTED]> wrote:
>  
>
>>The app is simply meant to grab some mails from a pop server and
>>simply 
>>display it using Java Mail.
>>I realise part of my mistake is using global variables
>>,unsynchronized 
>>collections and unsynchronized code blocks.I am not using the single 
>>thread model.
>>My initial thought ( :-)  forgive me its some time since I have coded
>>
>>servlets) was that Tomcat will create a new servlet instance that is 
>>totally independed of the other,  for each request.On testing the app
>>on 
>>two client machines I have realized that the data is corrupted all
>>mixed 
>>up and my velocity template is throwing an error  caused by
>>concurrent 
>>modification.
>>My question is there some way of making this app thread safe and also
>>
>>how does Tomcat  actually many requests , in terms of the  threading 
>>method used?I am using Tomcat 4.1
>>
>>
>>Shapira, Yoav wrote:
>>
>>    
>>
>>>Howdy,
>>>State your specific requirements and we can help you design
>>>servlets/objects that will meet those requirements.  Your original
>>>      
>>>
>>post
>>    
>>
>>>is too broad to solicit a detailed response.
>>>
>>>Yoav Shapira
>>>Millennium ChemInformatics
>>>
>>>
>>> 
>>>
>>>      
>>>
>>>>-----Original Message-----
>>>>From: kwirirai [mailto:[EMAIL PROTECTED]
>>>>Sent: Monday, February 09, 2004 12:48 PM
>>>>To: [EMAIL PROTECTED]
>>>>Subject: Servlet thread safety in Tomcat
>>>>
>>>>Hi All
>>>>I am developing an application that uses JavaMail.What I am
>>>>        
>>>>
>>concered is
>>    
>>
>>>>the issue of thread safety,and efficiency.My question is do I need
>>>>        
>>>>
>>to
>>    
>>
>>>>employ synchronized blocks in my Servlet code or is there another
>>>>        
>>>>
>>way
>>    
>>
>>>>   
>>>>
>>>>        
>>>>
>>>to
>>> 
>>>
>>>      
>>>
>>>>implement thread safety.I have been experimenting with the
>>>>        
>>>>
>>application
>>    
>>
>>>>and I have seen that the data is actualy mixing up.I realy need to
>>>>        
>>>>
>>now
>>    
>>
>>>>how Tomcat handles request and issues those request ,this is in
>>>>connection with threading. I have thought about the single thread
>>>>        
>>>>
>>model
>>    
>>
>>>>in my servlets but I think this is an inefficient method to use.
>>>>
>>>>Thanks
>>>>Kwiri
>>>>
>>>>
>>>>
>>>>
>>>>        
>>>>
>>>---------------------------------------------------------------------
>>>      
>>>
>>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>For additional commands, e-mail:
>>>>        
>>>>
>>[EMAIL PROTECTED]
>>    
>>
>>>>   
>>>>
>>>>        
>>>>
>>>
>>>
>>>This e-mail, including any attachments, is a confidential business
>>>      
>>>
>>communication, and may contain information that is confidential,
>>proprietary and/or privileged.  This e-mail is intended only for the
>>individual(s) to whom it is addressed, and may not be saved, copied,
>>printed, disclosed or used by anyone else.  If you are not the(an)
>>intended recipient, please immediately delete this e-mail from your
>>computer system and notify the sender.  Thank you.
>>    
>>
>>>      
>>>
>>---------------------------------------------------------------------
>>    
>>
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>> 
>>>
>>>      
>>>
>>    
>>
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Finance: Get your refund fast by filing online.
>http://taxes.yahoo.com/filing.html
>
>---------------------------------------------------------------------
>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]

Reply via email to