Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Using the DefaultExecutorServiceStrategy we can let Camel keep track of the created pools, and thus also it can shutdown those when CamelContext is shutting down. Then Camel is handling the lifecycle for the pools it creates. And if you pass in a thread pool from an external system then you manage that lifecycle. Camel will in those cases not shut it down.

Sensible defaults

The CachedExecutorService by the JDK is maybe a bit rough as its unbounded thread pool which essentially can create 1000s of threads if the sever is not busy. But end users may want to have a reasonable max size, lets say 100. So we should offer some sort of rule which you can configure what the default settings should be for thread pools created by Camel.

Rejection policy

We should add configuration about rejection policies for new tasks submitted to a pool. The JDK has options for ABORT, RUN, WAIT, DISCARD etc.