I'm getting a memory leak when using the BeanComponent that results from
Request objects never being removed from the requests map in BeanEndpoint. 
In my case I've got a http consumer endpoint with the target service
implemented by a BeanEndpoint.  When onProviderExchange() executes on the
BeanEndpoint, onMessageExchange() is invoked on the pojo, which sends a
response back to the HttpEndpoint.  The problem is that checkEndOfRequest()
executes on the BeanEndpoint before the http ConsumerProcessor has processed
the response message from the pojo and set the exchange status to
ExchangeStatus.DONE.  Therefore the Request object doesn't get removed from
the requests Map.  It would be a bit messy, but it seems like there should
be a way to expire Request objects since it seems like it's fairly easy for
them to get orphaned.  In fact, I'm not sure how you could avoid orphans for
InOut exchanges since I'm not aware of a way to guarantee that the exchange
is complete before onProviderExchange() finishes execution.  Am I missing
something?
-- 
View this message in context: 
http://www.nabble.com/Memory-Leak-in-BeanEndpoint--tf3684455s12049.html#a10298559
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to