users@grizzly.java.net

Re: Servlet blocking??

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Mon, 25 May 2009 19:59:23 -0400

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
>