Kbase P40278: Java client that recieves sonic messages becomes hungs after the connection is left for idle?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  18/04/2007 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1D
Tomcat 4.1
SonicMQ 4.0
SYMPTOM(s):
AIA
TOMCAT Embedded WebServer.
HTTP 1.1 Connector
Running $DLC/src/samples/sonicmq/adapter/examples/example2.p as a subscriber.
Using Sonic Explorer to publish messages to the sonic topic.
Sonic Messages sent through Tomcat to the AppServer Internet Adapter.
When the example2.p Client is left idle for a couple of minutes the window becomes hung.
Publishing an additional message unhangs the client until the client is left idle again.
Tomcat's server.xml file has allowChunking="false" under the connector type.
CAUSE:
The 4GL client receives a partial chunked network packet. The 4GL client assumes that the packet sent is a complete response attempts to read the packet completely without waiting for the last chunk to be sent for the chunk response.
FIX:
Disable the keepalive messages from being set by setting the soSocketTimeout parameter in the ubroker.properties file to 0 and changing Tomcat's connectionTimeout parameter to -1 in the server.xml.
This will prevent the ServletEngine from closing the socket.