Salut,
Please find my response below.
1. The method com.sun.grizzly.tcp.http11.GrizzlyOutputBuffer.close() is
being invoked from the method
com.sun.grizzly.comet.CometHandler.onInterrupt(CometEvent).
2. I do the tests from the browser. I have attached the war file and source
code in my first mail. What i do is , I open 3-4 browsers(index.html) and
refresh(F5) one by one. At some point I stop getting response from the
server.
When I hit refresh button in the browser, in the method
GrizzlyAdapter.service(Request, Response) a new GrizzlyRequest and
GrizzlyResponse objects are created. In this case everything works as
expected. Also CometHandler.onInterrupt() will be invoked for the existing
response which will in turn invoke GrizzlyOutputBuffer.close().
But sometimes new GrizzlyRequest and GrizzlyResponse objects will NOT be
created and It will use the existing ones from res.getNote(ADAPTER_NOTES).
So In this case the GrizzlyOutputBuffer instance will be the one on which
close() method has been invoked some time back.
I didnt see the method GrizzlyAdapter.afterService(Request, Response)
getting invoked in this flow which we talked about. However afterService()
is invoked if we try to POST a new Chat Message; a normal doPost().
Thanks,
Tom
--
View this message in context: http://www.nabble.com/Client-Stream-Update-Issue-with-Grizzly-Comet-tp23211261p23221672.html
Sent from the Grizzly - Users mailing list archive at Nabble.com.