users@grizzly.java.net

Re: (Getting the ProtocolChain instance) Re: Servlet blocking??

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Wed, 27 May 2009 11:06:24 -0400

Salut,

César Fernando Henriques wrote:
> Hi,
>
> On Tue, May 26, 2009 at 10:34 PM, Jeanfrancois Arcand
> <Jeanfrancois.Arcand_at_sun.com> wrote:
>> Salut,
>>
>> César Fernando Henriques wrote:
>>> Hi,
>>>
>>> On Tue, May 26, 2009 at 9:56 PM, Jeanfrancois Arcand
>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>> Salut,
>>>>
>>>> César Fernando Henriques wrote:
>>>>> Hi,
>>>>>
>>>>> On Mon, May 25, 2009 at 11:08 PM, Jeanfrancois Arcand
>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>> Salut,
>>>>>>
>>>>>> sorry for the delay. I've just added a test case in Grizzly:
>>>>>>
>>>>>>
>>>>>> Mainly, to get the ProtocolChain, just do:
>>>>>>
>>>>>>> ProtocolChain pc =
>>>>>>>
>>>>>>>
>>>>>>> gws.getSelectorThread().getController().getProtocolChainInstanceHandler().poll();
>>>>>> From there you can add your ProtocolFilter. I've filled issue:
>>>>>>
>>>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=621
>>>>>>
>>>>>> and added
>>>>>>
>>>>>> SelectorThread.getProtocolChain() to make it easier/trivial.
>>>>>>
>>>>>> and this is fixed in 1.9.16-SNAPSHOT. We are planning to release 1.9.16
>>>>>> this
>>>>>> week or early next week.
>>>>> A little doubt, this already fix the
>>>>> server.getSelectorThread().getController() returning null if I call
>>>>> getController before starting the server?
>>>> Yes you still need to start the GWS in order to be allowed to add your
>>>> ProtocolFilter. Is it causing an issue?
>>> No, it's ok, just that in my mind I was thinking in ProtocolFilter
>>> like any Adapter, is there something I'm missing? should not be easier
>>> to allow the user to setup the server configuration Filters/Adapters
>>> in any order?
>> So your proposal, if I understand you correctly, would consist of adding to
>> the GWS class something like addProtocolFilter(ProtocolFilter, int
>> position), independent if the Server is started or not, right?
>
> Yes, I was thinking in something like that... I don't know if there
> are many use cases that make it worthwhile adding something like this.
>
> Remember that I'm thinking on ProtocolFilter in something similar to
> SimpleChannelHandler in netty so I can add a custom protocol or a
> transformation layer on top of HTTP. Maybe I'm totally wrong about
> this idea. (I'm still thinking)
>
> I need to look at the code to understand really how it works, becasue
> I don't see clear yet if it can be used in the way I'm thinking.
>
> What I want is to create a serie of ProtocolFilters for example to
> transform the content of http responses (pdf to html, doc to html,
> etc), to add Compression and Cryptography (other than ssl, at http
> content level) , etc.

I see. I suspect this API is more appropriate for content transformation
(but not SSL):

https://grizzly.dev.java.net/nonav/apidocs/com/sun/grizzly/tcp/http11/OutputFilter.html

As an example, you can take a look at the GZIP implementation:

https://grizzly.dev.java.net/nonav/xref/com/sun/grizzly/tcp/http11/filters/GzipOutputFilter.html#72


>
> I have the basic idea on how this should work based on what I was
> doing with netty, but I don't think It will fit on GWS, maybe should I
> write my own GWS Server.
>
> I hope you can understand my point... sometimes it's hard for my to
> explain in english :-(. I'm from Argentina. I must improve my
> spanglish!!!

No this is quite clear...I'm from Quebec, so same frenchglish issue :-)

A+

-- Jeanfrancois

>
> Thanks
>
> Cesar.-
>
>>
>>> Is there any doc I can read to understand how it works?
>>>
>>> Thank you and sorry I'm taking lot of your time...
>> NOT at all. This is a very interesting discussion.
>>
>> Thanks!
>>
>> -- Jeanfrancois
>>
>>
>>> Cesar.-
>>>
>>>> Thanks
>>>>
>>>> -- jeanfrancois
>>>>
>>>>
>>>>
>>>>> Thanks
>>>>>
>>>>> Cesar.-
>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> -- Jeanfrancois
>>>>>>
>>>>>>
>>>>>>
>>>>>> César Fernando Henriques wrote:
>>>>>>> yeap I found that issue, well I think I will try Grizzly for server
>>>>>>> side and netty from client side ;-)
>>>>>>>
>>>>>>> Thanks Jean,
>>>>>>>
>>>>>>> Best Regards
>>>>>>>
>>>>>>> Cesar.-
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, May 25, 2009 at 8:59 PM, Jeanfrancois Arcand
>>>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>>>> Salut,
>>>>>>>>
>>>>>>>> César Fernando Henriques wrote:
>>>>>>>>> Jean,
>>>>>>>>>
>>>>>>>>> Is there any async http client implementend with grizzly?
>>>>>>>> Not yet, unfortunately. We are working on it:
>>>>>>>>
>>>>>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=265
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>> -- Jeanfrancois
>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>> 2009/5/25 César Fernando Henriques <fuzzball_at_alttab.com.ar>:
>>>>>>>>>> Thanks, Jean, I'm still doing tests with both Grizzly and Netty. To
>>>>>>>>>> be
>>>>>>>>>> honest I'm inclined to choose netty at this point, just for the API
>>>>>>>>>> simplicity, but I really like Grizzly because it solve all my reqs
>>>>>>>>>> with the CometEngine
>>>>>>>>>>
>>>>>>>>>> My problem is that I don't have a global vision of Grizzly, yet,
>>>>>>>>>> and
>>>>>>>>>> where it's going in terms of versions and features to be supported.
>>>>>>>>>>
>>>>>>>>>> For example I'm seeing that GrizzlyWebServer in 2.0 doesn't have
>>>>>>>>>> access to TCPSelectorHandler, why? Is this beacuse 2.0 doesn't
>>>>>>>>>> support
>>>>>>>>>> comet yet? I don't think it's related to comet (maybe I'm wrong).
>>>>>>>>>> Should be nice to have the chance to add ProtocolFilter to GWS in
>>>>>>>>>> 2.0
>>>>>>>>>> release.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> If you think It will be easy to fix I can take a look at the commet
>>>>>>>>>> enabled GWS code.
>>>>>>>>>>
>>>>>>>>>> Thanks!
>>>>>>>>>>
>>>>>>>>>> Cesar.-
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, May 25, 2009 at 6:14 PM, Jeanfrancois Arcand
>>>>>>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>>>>>>> Salut,
>>>>>>>>>>>
>>>>>>>>>>> César Fernando Henriques wrote:
>>>>>>>>>>>> Thanks Jean,
>>>>>>>>>>>>
>>>>>>>>>>>> I have tried accesing from different browsers and It works
>>>>>>>>>>>> perfectly
>>>>>>>>>>>> :-)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I will keep doing some test, and trying to work around the issue
>>>>>>>>>>>> of
>>>>>>>>>>>> adding ProtocolFilter on GrizzlyWebServer, do you remember that
>>>>>>>>>>>> issue?
>>>>>>>>>>>>
>>>>>>>>>>>> TCPSelectorHandler tcpHandler = server.getSelectorThread()
>>>>>>>>>>>> .getSelectorHandler();
>>>>>>>>>>>>
>>>>>>>>>>>> getSelectorHandler() return null. If I call getSelectorHandler
>>>>>>>>>>>> after
>>>>>>>>>>>> gws.start() it return a valid handler but I get a null at
>>>>>>>>>>>> tcpHandler.getProtocolChainInstanceHandler();
>>>>>>>>>>> Ok this should be easy to fix. Do you want me to take a look or
>>>>>>>>>>> you
>>>>>>>>>>> already
>>>>>>>>>>> moved to Netty :-) Anyway I will file an issue but if you don't
>>>>>>>>>>> need
>>>>>>>>>>> it
>>>>>>>>>>> today, I will work on 2.0 release :-)
>>>>>>>>>>>
>>>>>>>>>>> Thanks!
>>>>>>>>>>>
>>>>>>>>>>> -- Jeanfrancois
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>
>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>
>>>>>>>>>>>> Cesar.-
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, May 25, 2009 at 11:58 AM, Jeanfrancois Arcand
>>>>>>>>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>>>>>>>>> Salut,
>>>>>>>>>>>>>
>>>>>>>>>>>>> César Fernando Henriques wrote:
>>>>>>>>>>>>>> Hi all, I have been doing some tests with the EchoServer and it
>>>>>>>>>>>>>> seems
>>>>>>>>>>>>>> to be running ok, my problem is just with GrizzleWebServer, I'm
>>>>>>>>>>>>>> really
>>>>>>>>>>>>>> newbie ... but I'm suspecting that I have some throuble with
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> AsyncWebFilter.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It's just frustrating... :-(
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Any body has seen this erro before?
>>>>>>>>>>>>> I think you are running inside Eclipse and the browser doesn't
>>>>>>>>>>>>> not
>>>>>>>>>>>>> allow
>>>>>>>>>>>>> more than 2 connections to the same host. This is a well know
>>>>>>>>>>>>> issue
>>>>>>>>>>>>> when
>>>>>>>>>>>>> using comet, e.g if your browser opens more than two connections
>>>>>>>>>>>>> to
>>>>>>>>>>>>> the
>>>>>>>>>>>>> server, all other connections will be blocked by the browser.
>>>>>>>>>>>>> This
>>>>>>>>>>>>> is
>>>>>>>>>>>>> not
>>>>>>>>>>>>> a
>>>>>>>>>>>>> Grizzly issue :-) Can you try outside Eclipse with 2 different
>>>>>>>>>>>>> browser
>>>>>>>>>>>>> (like
>>>>>>>>>>>>> I'm doing)?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>
>>>>>>>>>>>>> -- Jeanfrancois
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you guys!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Saludos
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Cesar.-
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2009/5/23 César Fernando Henriques <fuzzball_at_alttab.com.ar>:
>>>>>>>>>>>>>>> Jean,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have been doing some tests, but I'm still getting the same
>>>>>>>>>>>>>>> error
>>>>>>>>>>>>>>> (The servlet blocks after the first request). This is the
>>>>>>>>>>>>>>> output
>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>> the first request. If I close the browser ht servlet can serve
>>>>>>>>>>>>>>> another
>>>>>>>>>>>>>>> request.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 23/05/2009 19:17:12 com.sun.grizzly.http.SelectorThread
>>>>>>>>>>>>>>> displayConfiguration
>>>>>>>>>>>>>>> INFO:
>>>>>>>>>>>>>>> Grizzly configuration for port 80
>>>>>>>>>>>>>>> Thread Pool: StatsThreadPool[name=http, priority=10,
>>>>>>>>>>>>>>> min-threads=5,
>>>>>>>>>>>>>>> max-threads=5, max-queue-size=4096,
>>>>>>>>>>>>>>> initial-byte-buffer-size=8192,
>>>>>>>>>>>>>>> byte-buffer-type=HEAP_VIEW, is-shutdown=false, port=80]
>>>>>>>>>>>>>>> ByteBuffer size: 8192
>>>>>>>>>>>>>>> maxHttpHeaderSize: 8192
>>>>>>>>>>>>>>> maxKeepAliveRequests: 256
>>>>>>>>>>>>>>> keepAliveTimeoutInSeconds: 30
>>>>>>>>>>>>>>> Static File Cache enabled: true
>>>>>>>>>>>>>>> Static resources directory:
>>>>>>>>>>>>>>> E:\Users\Cesar\Documentos\Proyectos\WebServer
>>>>>>>>>>>>>>> Adapter : com.sun.grizzly.tcp.http11.GrizzlyAdapterChain
>>>>>>>>>>>>>>> Asynchronous Request Processing enabled: true
>>>>>>>>>>>>>>> 23/05/2009 19:17:16 com.sun.grizzly.http.ProcessorTask
>>>>>>>>>>>>>>> parseRequest
>>>>>>>>>>>>>>> INFO: SocketChannel request
>>>>>>>>>>>>>>> linejava.nio.channels.SocketChannel[connected
>>>>>>>>>>>>>>> local=/127.0.0.1:80
>>>>>>>>>>>>>>> remote=/127.0.0.1:54798] is: R( /index.html)
>>>>>>>>>>>>>>> 23/05/2009 19:17:16 com.sun.grizzly.http.ProcessorTask
>>>>>>>>>>>>>>> parseRequest
>>>>>>>>>>>>>>> INFO: SocketChannel
>>>>>>>>>>>>>>> headersjava.nio.channels.SocketChannel[connected
>>>>>>>>>>>>>>> local=/127.0.0.1:80 remote=/127.0.0.1:54798] are: ===
>>>>>>>>>>>>>>> MimeHeaders
>>>>>>>>>>>>>>> ===
>>>>>>>>>>>>>>> host = localhost:80
>>>>>>>>>>>>>>> user-agent = Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES;
>>>>>>>>>>>>>>> rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
>>>>>>>>>>>>>>> accept =
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>>>>>>>>>>>>>>> accept-language = es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
>>>>>>>>>>>>>>> accept-encoding = gzip,deflate
>>>>>>>>>>>>>>> accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7
>>>>>>>>>>>>>>> keep-alive = 300
>>>>>>>>>>>>>>> connection = keep-alive
>>>>>>>>>>>>>>> cache-control = max-age=0
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm running on Windows 7 64bits and JDK 1.6 U12
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> any help?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, May 22, 2009 at 2:04 PM, Jeanfrancois Arcand
>>>>>>>>>>>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>>>>>>>>>>>> Salut,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> César Fernando Henriques wrote:
>>>>>>>>>>>>>>>>> Thanks you Jean, will be good if you have a little of free
>>>>>>>>>>>>>>>>> time
>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>> check my code but don't worry, I'm not hurry
>>>>>>>>>>>>>>>> (saw your post on Netty ;-))
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> For me your code works perfectly (I'm using 1.9.16-SNAPSHOT)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I did:
>>>>>>>>>>>>>>>>> jfarcand_at_jfarcand-desktop:/appserv80/grizzly/gws_comet$
>>>>>>>>>>>>>>>>> jdebug
>>>>>>>>>>>>>>>>> -Dcom.sun.grizzly.enableSnoop=true
>>>>>>>>>>>>>>>>> -Dcom.sun.grizzly.displayConfiguration=true -cp
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> /appserv80/grizzly/trunk/modules/bundles/comet/target/grizzly-comet-webserver-1.9.16-SNAPSHOT.jar:.
>>>>>>>>>>>>>>>>> ar.com.alttab.webserver.Test
>>>>>>>>>>>>>>>>> Listening for transport dt_socket at address: 9009
>>>>>>>>>>>>>>>>> 22-May-2009 12:56:24 PM com.sun.grizzly.http.SelectorThread
>>>>>>>>>>>>>>>>> displayConfiguration
>>>>>>>>>>>>>>>>> INFO: Grizzly configuration for port 8080
>>>>>>>>>>>>>>>>> Thread Pool: StatsThreadPool[name=http, priority=10,
>>>>>>>>>>>>>>>>> min-threads=5, max-threads=5, max-queue-size=4096,
>>>>>>>>>>>>>>>>> initial-byte-buffer-size=8192, byte-buffer-type=HEAP_VIEW,
>>>>>>>>>>>>>>>>> is-shutdown=false, port=8080]
>>>>>>>>>>>>>>>>> ByteBuffer size: 8192
>>>>>>>>>>>>>>>>> maxHttpHeaderSize: 8192
>>>>>>>>>>>>>>>>> maxKeepAliveRequests: 256
>>>>>>>>>>>>>>>>> keepAliveTimeoutInSeconds: 30
>>>>>>>>>>>>>>>>> Static File Cache enabled: true
>>>>>>>>>>>>>>>>> Static resources directory:
>>>>>>>>>>>>>>>>> /home/jfarcand/workspace/grizzly/gws_comet
>>>>>>>>>>>>>>>>> Adapter : com.sun.grizzly.tcp.http11.GrizzlyAdapterChain
>>>>>>>>>>>>>>>>> Asynchronous Request Processing enabled: true
>>>>>>>>>>>>>>>>> 22-May-2009 12:56:33 PM com.sun.grizzly.http.ProcessorTask
>>>>>>>>>>>>>>>>> parseRequest
>>>>>>>>>>>>>>>>> INFO: SocketChannel request
>>>>>>>>>>>>>>>>> linejava.nio.channels.SocketChannel[connected
>>>>>>>>>>>>>>>>> local=/127.0.0.1:8080 remote=/127.0.0.1:39679] is: R( /)
>>>>>>>>>>>>>>>>> 22-May-2009 12:56:33 PM com.sun.grizzly.http.ProcessorTask
>>>>>>>>>>>>>>>>> parseRequest
>>>>>>>>>>>>>>>>> INFO: SocketChannel
>>>>>>>>>>>>>>>>> headersjava.nio.channels.SocketChannel[connected
>>>>>>>>>>>>>>>>> local=/127.0.0.1:8080 remote=/127.0.0.1:39679] are: ===
>>>>>>>>>>>>>>>>> MimeHeaders
>>>>>>>>>>>>>>>>> ===
>>>>>>>>>>>>>>>>> user-agent = Wget/1.11.4
>>>>>>>>>>>>>>>>> accept = */*
>>>>>>>>>>>>>>>>> host = 127.0.0.1:8080
>>>>>>>>>>>>>>>>> connection = Keep-Alive
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Suspending :
>>>>>>>>>>>>>>>>> com.sun.grizzly.http.servlet.HttpServletRequestImpl_at_1712651
>>>>>>>>>>>>>>>>> 22-May-2009 12:56:53 PM com.sun.grizzly.http.ProcessorTask
>>>>>>>>>>>>>>>>> parseRequest
>>>>>>>>>>>>>>>>> INFO: SocketChannel request
>>>>>>>>>>>>>>>>> linejava.nio.channels.SocketChannel[connected
>>>>>>>>>>>>>>>>> local=/127.0.0.1:8080 remote=/127.0.0.1:39680] is: R( /)
>>>>>>>>>>>>>>>>> 22-May-2009 12:56:53 PM com.sun.grizzly.http.ProcessorTask
>>>>>>>>>>>>>>>>> parseRequest
>>>>>>>>>>>>>>>>> INFO: SocketChannel
>>>>>>>>>>>>>>>>> headersjava.nio.channels.SocketChannel[connected
>>>>>>>>>>>>>>>>> local=/127.0.0.1:8080 remote=/127.0.0.1:39680] are: ===
>>>>>>>>>>>>>>>>> MimeHeaders
>>>>>>>>>>>>>>>>> ===
>>>>>>>>>>>>>>>>> user-agent = Wget/1.11.4
>>>>>>>>>>>>>>>>> accept = */*
>>>>>>>>>>>>>>>>> host = 127.0.0.1:8080
>>>>>>>>>>>>>>>>> connection = Keep-Alive
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Suspending :
>>>>>>>>>>>>>>>>> com.sun.grizzly.http.servlet.HttpServletRequestImpl_at_6397eb
>>>>>>>>>>>>>>>>> 22-May-2009 12:57:04 PM
>>>>>>>>>>>>>>>>> com.sun.grizzly.http.SocketChannelOutputBuffer
>>>>>>>>>>>>>>>>> flushChannel
>>>>>>>>>>>>>>>>> INFO: HTTP/1.1 200 OK
>>>>>>>>>>>>>>>>> server: grizzly/1.9.16
>>>>>>>>>>>>>>>>> Content-Length: 0
>>>>>>>>>>>>>>>>> Date: Fri, 22 May 2009 16:57:04 GMT
>>>>>>>>>>>>>>>>> Connection: Keep-Alive
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 22-May-2009 12:57:23 PM
>>>>>>>>>>>>>>>>> com.sun.grizzly.http.SocketChannelOutputBuffer
>>>>>>>>>>>>>>>>> flushChannel
>>>>>>>>>>>>>>>>> INFO: HTTP/1.1 200 OK
>>>>>>>>>>>>>>>>> server: grizzly/1.9.16
>>>>>>>>>>>>>>>>> Content-Length: 0
>>>>>>>>>>>>>>>>> Date: Fri, 22 May 2009 16:57:23 GMT
>>>>>>>>>>>>>>>>> Connection: Keep-Alive
>>>>>>>>>>>>>>>> And added the following line in
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> CometResponseHandler handler = new CometResponseHandler();
>>>>>>>>>>>>>>>>> handler.attach(arg1);
>>>>>>>>>>>>>>>>> context.addCometHandler(handler);
>>>>>>>>>>>>>>>>> System.out.println("Suspending : " + arg0);
>>>>>>>>>>>>>>>> I do see the Suspended called all the time, and also the
>>>>>>>>>>>>>>>> push/notify.
>>>>>>>>>>>>>>>> Ho
>>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>>> I reproduce your use case?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Do you know if there are any plan to release Grizzly Comet
>>>>>>>>>>>>>>>>> Web
>>>>>>>>>>>>>>>>> Server
>>>>>>>>>>>>>>>>> for nio framework 2.0?
>>>>>>>>>>>>>>>> We are targetting June 2009. I will soon work on the Comet
>>>>>>>>>>>>>>>> implementation
>>>>>>>>>>>>>>>> (after J1).
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Last question, (already asked on the other thread), is there
>>>>>>>>>>>>>>>>> any
>>>>>>>>>>>>>>>>> way
>>>>>>>>>>>>>>>>> to add a ProtocolFilter to GrizzlyWebServer, I have been
>>>>>>>>>>>>>>>>> playing
>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>> netty and have the chance to add Custom Handlers to the
>>>>>>>>>>>>>>>>> channel,
>>>>>>>>>>>>>>>>> so I
>>>>>>>>>>>>>>>>> was thinking to add ProtocolHandler, CompressionHandler and
>>>>>>>>>>>>>>>>> CryptoHandler.
>>>>>>>>>>>>>>>> Yes, and I've answered:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> In Grizzly you will do something like:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> GrizzlyWebServer.getSelectorThread().getSelectorHandler().
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> getProtocolChain().poll().addFilter(2,yourCustomProtocolParser());
>>>>>>>>>>>>>>>>> Another good use of Filters in my case could be to transform
>>>>>>>>>>>>>>>>> documents, I'm going to access different content from moble
>>>>>>>>>>>>>>>>> phones
>>>>>>>>>>>>>>>>> so
>>>>>>>>>>>>>>>>> maybe a good service to add in the Daemon could be a
>>>>>>>>>>>>>>>>> DocumentTransformationFilter, that extract text/html from
>>>>>>>>>>>>>>>>> pdf,
>>>>>>>>>>>>>>>>> doc,
>>>>>>>>>>>>>>>>> docx (I already have this implemented in a DTS Service
>>>>>>>>>>>>>>>>> running
>>>>>>>>>>>>>>>>> standalone).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> What do you think?
>>>>>>>>>>>>>>>> I think that could be pretty simple to do that inside a
>>>>>>>>>>>>>>>> GrizzlyAdapter
>>>>>>>>>>>>>>>> instead of a ProtocolFilter. Inside the grizzlyAdapter all
>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> headers
>>>>>>>>>>>>>>>> will
>>>>>>>>>>>>>>>> be parsed for you, and you just have to manipulate the body
>>>>>>>>>>>>>>>> of
>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> request.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> -- Jeanfrancois
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Cesar.-
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thu, May 21, 2009 at 10:18 PM, Jeanfrancois Arcand
>>>>>>>>>>>>>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>>>>>>>>>>>>>> Salut,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'm back (was releasing this little monster ->
>>>>>>>>>>>>>>>>>> http://is.gd/Cb5Y)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> César Fernando Henriques wrote:
>>>>>>>>>>>>>>>>>>> Maybe I'm getting wrong... but is supposed that the
>>>>>>>>>>>>>>>>>>> request
>>>>>>>>>>>>>>>>>>> get
>>>>>>>>>>>>>>>>>>> suspened for different client's. In my case the servlet
>>>>>>>>>>>>>>>>>>> serve
>>>>>>>>>>>>>>>>>>> one
>>>>>>>>>>>>>>>>>>> client and suspend... that's ok, if I dispacth a comet
>>>>>>>>>>>>>>>>>>> event
>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>> response is updated with the notify, but I I create
>>>>>>>>>>>>>>>>>>> another
>>>>>>>>>>>>>>>>>>> request
>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>> the servlet from another client the servlet doesn't
>>>>>>>>>>>>>>>>>>> respond
>>>>>>>>>>>>>>>>>>> until I
>>>>>>>>>>>>>>>>>>> close the previuos request (Close the browser).
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I don't think that should be happening... but maybe I'm
>>>>>>>>>>>>>>>>>>> totally
>>>>>>>>>>>>>>>>>>> confused.
>>>>>>>>>>>>>>>>>> No you are correct. I suspect there is not enough
>>>>>>>>>>>>>>>>>> threads...but
>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>> strange. I will play with the sample (THANKS) to see what's
>>>>>>>>>>>>>>>>>> happening.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Apology for the delay.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> -- Jeanfrancois
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Thu, May 21, 2009 at 6:01 PM, Jeanfrancois Arcand
>>>>>>>>>>>>>>>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>>>>>>>>>>>>>>>> Salut,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> César Fernando Henriques wrote:
>>>>>>>>>>>>>>>>>>>>> Jean, Yes, the service method is invoked, and the event
>>>>>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>>> dispatched
>>>>>>>>>>>>>>>>>>>>> on CometResponseHandler. My problem is that the Servlet
>>>>>>>>>>>>>>>>>>>>> running
>>>>>>>>>>>>>>>>>>>>> on
>>>>>>>>>>>>>>>>>>>>> GrizzlyWebServer is blocking and I just can serve one
>>>>>>>>>>>>>>>>>>>>> client
>>>>>>>>>>>>>>>>>>>>> at
>>>>>>>>>>>>>>>>>>>>> time.
>>>>>>>>>>>>>>>>>>>> OK but all request gets suspended and that's normal you
>>>>>>>>>>>>>>>>>>>> don't
>>>>>>>>>>>>>>>>>>>> get
>>>>>>>>>>>>>>>>>>>> any
>>>>>>>>>>>>>>>>>>>> response. What are you expecting?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> -- jeanfrancois
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I have attached the code.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks you!!!
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Thu, May 21, 2009 at 5:43 PM, Jeanfrancois Arcand
>>>>>>>>>>>>>>>>>>>>> <Jeanfrancois.Arcand_at_sun.com> wrote:
>>>>>>>>>>>>>>>>>>>>>> Salut,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Survivant 00 wrote:
>>>>>>>>>>>>>>>>>>>>>>> I never did comet stuff yet, but here a snippet that
>>>>>>>>>>>>>>>>>>>>>>> will
>>>>>>>>>>>>>>>>>>>>>>> enable
>>>>>>>>>>>>>>>>>>>>>>> comet.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> // comet
>>>>>>>>>>>>>>>>>>>>>>> if(cometEnabled){
>>>>>>>>>>>>>>>>>>>>>>> SelectorThread st = ws.getSelectorThread();
>>>>>>>>>>>>>>>>>>>>>>> AsyncHandler asyncHandler = new
>>>>>>>>>>>>>>>>>>>>>>> DefaultAsyncHandler();
>>>>>>>>>>>>>>>>>>>>>>> asyncHandler.addAsyncFilter(new
>>>>>>>>>>>>>>>>>>>>>>> CometAsyncFilter());
>>>>>>>>>>>>>>>>>>>>>>> st.setAsyncHandler(asyncHandler);
>>>>>>>>>>>>>>>>>>>>>>> st.setEnableAsyncExecution(true);
>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> No this not not needed.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Cesar, is the service method of your GrizzlyAdapter
>>>>>>>>>>>>>>>>>>>>>> invoked?
>>>>>>>>>>>>>>>>>>>>>> Can
>>>>>>>>>>>>>>>>>>>>>> you
>>>>>>>>>>>>>>>>>>>>>> send
>>>>>>>>>>>>>>>>>>>>>> me
>>>>>>>>>>>>>>>>>>>>>> the entire class so I can try?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> -- Jeanfrancois
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> 2009/5/21 César Fernando Henriques
>>>>>>>>>>>>>>>>>>>>>>> <cesar_at_alttab.com.ar
>>>>>>>>>>>>>>>>>>>>>>> <mailto:cesar_at_alttab.com.ar>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Hi guys, I'm runnign the following code and something
>>>>>>>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>>>>> wrong,
>>>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>> servlet is blocking so I just can serve one client at
>>>>>>>>>>>>>>>>>>>>>>> time.
>>>>>>>>>>>>>>>>>>>>>>> Is
>>>>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>>>> supposed to work in that way?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Sorry if this is a silly question.. I'm new to
>>>>>>>>>>>>>>>>>>>>>>> Grizzly.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> GrizzlyWebServer server = new GrizzlyWebServer(80);
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> server.addAsyncFilter(new CometAsyncFilter());
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> server.addGrizzlyAdapter(new ServletAdapter(new
>>>>>>>>>>>>>>>>>>>>>>> MyServlet()),
>>>>>>>>>>>>>>>>>>>>>>> new String[]{"/"});
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> server.addGrizzlyAdapter(new GrizzlyAdapter() {
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> @Override
>>>>>>>>>>>>>>>>>>>>>>> public void service(GrizzlyRequest arg0,
>>>>>>>>>>>>>>>>>>>>>>> GrizzlyResponse
>>>>>>>>>>>>>>>>>>>>>>> arg1) {
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> CometEngine cometEngine =
>>>>>>>>>>>>>>>>>>>>>>> CometEngine.getEngine();
>>>>>>>>>>>>>>>>>>>>>>> CometContext cometContext =
>>>>>>>>>>>>>>>>>>>>>>> cometEngine.getCometContext("caca");
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> try {
>>>>>>>>>>>>>>>>>>>>>>> cometContext.notify("Chatter test has
>>>>>>>>>>>>>>>>>>>>>>> joined.");
>>>>>>>>>>>>>>>>>>>>>>> } catch (IOException e) {
>>>>>>>>>>>>>>>>>>>>>>> // TODO Auto-generated catch block
>>>>>>>>>>>>>>>>>>>>>>> e.printStackTrace();
>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>> }, new String[] { "/test" });
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> try {
>>>>>>>>>>>>>>>>>>>>>>> server.start();
>>>>>>>>>>>>>>>>>>>>>>> } catch (IOException e) {
>>>>>>>>>>>>>>>>>>>>>>> // TODO Auto-generated catch block
>>>>>>>>>>>>>>>>>>>>>>> e.printStackTrace();
>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Regards.-
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>>>>> <mailto:users-unsubscribe_at_grizzly.dev.java.net>
>>>>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>>>>> <mailto:users-help_at_grizzly.dev.java.net>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> ------------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>> users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>>
>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>
>>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>