users@grizzly.java.net

Re: Asynchronous Servlet Container -> was: Project Grizzly Meeting Agenda (September 2, 2009)

From: Jitendra Kotamraju <Jitendra.Kotamraju_at_Sun.COM>
Date: Thu, 03 Sep 2009 07:25:24 -0700

Here is the code

https://jax-ws-commons.dev.java.net/source/browse/jax-ws-commons/trunk/transport/

There are two projects :

grizzly-lwhs-transport - Endpoint.publish() methods use lwhs API. This
transport implements lwhs API using grizzly. That means SE endpoints use
grizzly impl when this transport is used. lwhs API is documented at
http://java.sun.com/javase/6/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/package-summary.html

grizzly-transport - This transport uses grizzly's asynchronous
capabilities. It is useful if AsyncProvider endpoints are used.
AsyncProvider endpoints are documented at
http://weblogs.java.net/blog/kohsuke/archive/2006/08/jaxws_ri_goes_t.html

The above ones require some more finishing touches. If anybody wants to
contribute code to jax-ws-commons projects, please let me know. I will
gladly give the commit access.

thanks,
Jitu


Jeanfrancois Arcand wrote:
> Salut,
>
> smurugu wrote:
>> Alexi,
>>
>> As discussed in the call,
>>
>> - Is it possible to Salut,
>
> :-) In French Salut means HI :-)
>
> have a separate thread pool for Servlet Container.
>
> So you want to execute your Servlet on a different thread that
> accepted the connection, right? In that case, enabling Grizzly ARP
> will do the work for you. Take a look at the AsyncFilter API:
>
> * http://is.gd/2PPZX
>
> and also simple example from here:
>
> * http://is.gd/2PQ3A
>
> You can either use the Comet API to configure a new executor
>
> * http://is.gd/2PQLX
>
> But I would recommend to just create an executor inside an AsyncFilter
> for a basic usage.
>
>
> The
>> reason being any malformed request or longer running request on the
>> servlet
>> could potentially block the incoming connections because one common
>> thread
>> pool is used. I would even prefer to have a separate thread pool per
>> servlet
>> if possible
>
> AsyncFilter is probably what you want.
>
>>
>> - I wan to recieve the request on Consumer servlet and dispatch the
>> request
>> to another thread (separate thread pool) and process the request
>> asynchronously without blocking the consumer thread. There are 2 options
>> discussed: ARP & Comet. Could you please provide some examples on ARP
>> &Comet
>
> See above. For Comet, you can take a look at:
>
> * http://is.gd/2OwWh
>
>>
>> - Provide some pointers on integrating JAX-WS servlet into Grizzly
>
> I know internally the JAX WS team worked on something...Jitu, can we
> share your code?
>
> A+
>
> -- Jeanfrancois
>
>
>>
>> Thanks
>> Sendhil
>>
>>
>> Oleksiy Stashok wrote:
>>> Agenda:
>>>
>>> + Grizzly 1.9.x updates: 1.9.18 release
>>> + Grizzly servlet container
>>> + Grizzly 2.0 updates
>>> + round table
>>>
>>>
>>> Logistics:
>>> Time: 10:00am Pacific Time, Noon Central Time, 13:00 Eastern Time,
>>> 19:00 CET
>>> Toll free: 866.692.3163
>>> International: 1.203.418.3122
>>> Access code: 6454223
>>>
>>> Every one is welcome!
>>>
>>> WBR,
>>> Alexey.
>>>
>>>
>>