Thanks for your answer Jerome.
The introductory paper was what triggered the question in my mind -- I
guess I need to read "Java Concurrency in Practice".
Cheers
Jaime


On Feb 5, 2008 3:38 AM, Jerome Louvel <[EMAIL PROTECTED]> wrote:
>
> Hi Jaime,
>
> > Since the "Restlet vs Servlet" topic was touched, please let me
> > include a related concern that I'm sure n00bs like me will share
> >
> > Jerome, in that FAQ you mention (this one I assume
> > http://www.restlet.org/about/faq), in question #3 it says:
> >
> > "Finally, the Restlet API is I/O agnostic as its core Representation
> > interface can work equally well with BIO streams (java.io package) and
> > NIO channels (java.nio package)."
>
> Yes, I wrote that :-)
>
> > Now, are you saying there that there is something conceptual that
> > prevents Servlets to use NIO? (apart from possible implementation
> > details in particular servers like Tomcat)
> > If that's true, then how should we interpret statements like "Jetty
> > can use NIO" or "Glassfish can use NIO" ?
>
> The Servlet API directly exposes the request inputstream and the response
> outputstream for consumption and writing by the Servlet developer. This
> means that it would be quite difficult for the API to cleanly allow the
> developer to have the choice to work with NIO channels instead, at least
> without breaking the backward compatibility.
>
> Now that doesn't mean that Servlet containers can't leverage NIO to improve
> their performance (scalability and throughput). They can indeed use the
> non-blocking IO at the socket level, request parsing and response
> formatting. This way, the number of concurrent connections can be decoupled
> from the number of processing threads.
>
> However, they can't leverage NIO from the socket to the Servlet as the
> Servlet API has no provision for NIO as explained above. This is where the
> Restlet API makes the difference, by introducing the Representation class
> based on the idea of contentlets suggested by Greg Wilkins (Jetty).
>
> BTW, you can read more context info in the introduction paper:
> http://www.restlet.org/about/introduction
>
> > Please notice that I don't intend to start a confrontation of the "I
> > say they say" kind, only looking for enlihgtment
>
> Thanks for keeping the discussion constructive. There is in fact no need for
> confrontation: we leverage the Servlet API in our adapter extension and
> Jetty as a standalone connector.
>
> Best regards,
> Jerome
>
>

Reply via email to