Forums Register Login

how many times init() method gets called

+Pie Number of slices to send: Send
Hi,

How many times init() method gets called when we implement the single thread model. I think it's only one time only, is it correct? . As I know for each request servlet container creates one servlet instance to serve the incoming request. Does init() method gets called for each servlet instance?
+Pie Number of slices to send: Send
I'm not sure if the servlet container creates a new instance of the servlet for each request. What happens is a single thread is executing at a given time; all other requests need to wait till that thread is finished executing. But there is only 1 instance of the servlet created. Hence, the question of init() method getting called multiple times doesnt arise. That method is called only once during the life cycle of the servlet.
+Pie Number of slices to send: Send
Hi Souvvik Basu, what you said is correct in you point of view. To implement single thread model there are two techniques.

1. Only one servlet instance and other request will wait in queue to get chance

2. For each request servlet container creates new servlet instance.

these techniques depends on third party vendors .
+Pie Number of slices to send: Send
init() as well as destroy method is called only once during the life cycle of a servlet.

Only service method is called repeatedly
+Pie Number of slices to send: Send
Ramesh,

As you said For each Servlet instance, init() is called once.
If the Servlet Container is implemented to create multiple instances of servlet, then it will invoke init() method for each servlet instance.

BTW, SingleThreadModel is deprecated in Servlet 2.4 spec.
+Pie Number of slices to send: Send
from api


If a servlet implements this interface, you are guaranteed that no two threads will execute concurrently in the servlet's service method. The servlet container can make this guarantee by synchronizing access to a single instance of the servlet, or by maintaining a pool of servlet instances and dispatching each new request to a free servlet.



so as of tomcat 5.5, it wont create a new instance of servlet for each request even servlet implements SingleThreadModel. instead it synchorize access to service method.
+Pie Number of slices to send: Send
The single thread model was deprecated long long ago and should never be used.
Switching from electric heat to a rocket mass heater reduces your carbon footprint as much as parking 7 cars. Tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 8258 times.
Similar Threads
Servlet's constructor
who calls service method ?
Servlet handling multiple requests
Servlet init()
Servlet instances and its init method
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 18:24:11.