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.
