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
>