I'm going to write a simple REST webservice for downloading files from server( a simple GET method) The question is: Do I have to handle concurrency in this situation or the web server is going to do that?
3 Answers
It depends on what you mean by "handle concurrency". Do you have to write code to spawn threads on each incoming request? No, Jersey will create a new thread for each request before it calls your API method. Do you need to worry about a DELETE request coming in when somebody else is GETing a file? Yup.
Comments
Hmm, bit of a vague question but:
- Depends on how you implement the REST service, using JAX-RS?
- Depends on the server you are running it on.
- What do you mean by "handle concurrency"? Since REST is stateless, concurrency should be none of your concern.
3 Comments
Super Hornet
I'm using jeresy and tomcat
Gimby
Statelessness is a responsibility of the programmer, it is not a guarantee of the technology ;) That would be the true answer: stick to the stateless design philosophy of the standard (REST) and stick to the documentation of the API (JAX-RS) and you needn't worry.
nablex
If it's not stateless, it's not a REST webservice. So assuming we are building a REST webservice we can deduce statelesness.