I have found following issues in http endpoint:

* http provider has no timeout - can it be addressed in some how?
* http consumer has fixed 60 second timeout - it can be changed via
httpconfiguration (f.e. via jmx) but only globally - not specifically for
each endpoint
* http consumer (https) has a memory leak. Below steps to simulate this
leak:

- send message via http client to http consumer (it must be https)
- http consumer send message to a bean endpoint
- process message for longer time than the timeout (f.e. 65 sec)
- timeout response is sent to the http client
- bean enpoint works normally and sends response to the http endpoint (via
channel)
- http consumer stores response in exchanges map (in method
ConsumerProcessor.process(MessageExchange) - since no one will pick it up
then we will have memory leak here


I think it is a high time to look for a different esb vendor. All this jbi
complexity (send message, acknowledge message) is just a very good
opportunity to have leaks like above. Next, jbi forces to have xml messages
- and most servicemix endpoints will fail (f.e. http endpoint) in case of
different payload. Last but not least servicemix is just wrapping many
technologies which at first seems to be a very good idea cause it might hide
its complexities but as soon as there is a need to have some more advance
features and take the controll over it then .... you would need to write
your own component cause SM components are not flexible enough.




-- 
View this message in context: 
http://www.nabble.com/http-endpoint-issues-tp17562872p17562872.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to