Kbase P17619: SonicMQ Broker handles Outbound HTTP protocol incorrectly
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/15/2008 |
|
Status: Unverified
FACT(s) (Environment):
SonicMQ 4.x
SYMPTOM(s):
SonicMQ Broker handles Outbound HTTP protocol incorrectly
When a broker was sending messages to the consuming TestTool, it opened a connection for each message and didn't close the old one. It shouldn't close the old one, but reuse it because the HTTP 1.1 protocol was used. HTTP 1.1 mandates http keep-alive unless specified else in the http header by setting the "Connection: close" property.
While opening a new connection for every message and not closing the old ones, multiple connections remained open. As the tests showed, there is a limitation on the number of open connections (which is different every time, but between 4 and 15). When this limit is hit, no messages will be send/received anymore.
It works fine when the receiver closes the connection after each received message (against the http 1.1 protocol). But then the http direct sender doesn't work anymore with that receiver, because the used java.net.HttpUrlConnection implements the http 1.1 protocol and throws an exception when the receiver closes the connection. So, closing the connection after each received message is not the solution.
CAUSE:
Known issue
FIX:
Fixed with SonicMQ version 5.0