Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
All
Description
Latest code in trunk for org.apache.felix.resolver.ResolverImpl.ResolverImpl constructor will create an internal ExecutorService based on the results of Runtime.getRuntime().availableProcessors().
I would much rather be able to pass in my own ExecutorService so I can control the behavior and lifecycle of the executor myself. The current implementation will create a new ExecutorService using java.util.concurrent.Executors.newFixedThreadPool(int) and shuts it down each resolve() operation. It would be much better to be able to control the ExecutorService from outside of the ResolveImpl.
The code in its current form will force me to use org.apache.felix.resolver.ResolverImpl.ResolverImpl(Logger, int) and passing in 1 for parallelism to prevent extraneous thread creation for each framework resolve operation.