[rabbitmq-discuss] Breaking API changes in JAva API 2.7.0
Irmo Manie
irmo.manie at gmail.com
Mon Nov 21 19:13:28 GMT 2011
> And, of course, I read the JavaThreadPool implementations again, and we don't
> have to shutdown our private ExecutorService when the connection fails, because
> if it is not used it allocates no threads, and can be successfully GC'd when we
> lose the reference. Ergo, no leak.
>
> We have to shut it down when we close the connection of course, and we do.
Ah, you're absolutely right there!
> The best solution here is *not* to shutdown the executor service on connection
> close *unless it is our own private one*. And to lift the restriction that the
> ExecutorService must not be shared between connections. This then allows the
> user to allocate any ExecutorService to the consumer callbacks of a connection,
> including sharing a service among several connections.
>
> Let me know what you think.
To differentiate between private and given is a good thing I reckon.
When someone provides its own Executor, they should take full
responsibility for it and thus also close/stop it.
- Irmo
More information about the rabbitmq-discuss
mailing list