felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fabian Lange <fabian.la...@codecentric.de>
Subject Re-Using an ExecutorService for Felix Resolver calls
Date Mon, 03 Oct 2016 19:21:14 GMT
what do you guys think about:

As noticed by me, and already reported here:

The current default behaviour is that every "resolve()" call will create a
new Executor Pool with number of CPU Cores as size. This is not very
In my opinion this is unexpected behaviour by Felix, but fortunately we can
use other constructors.

I left in my PR the default behaviour, but added a new one, which can
re-use a bounded or unbounded ThreadPoolExecutor. I did not use a
FixedThreadPool because i wanted to mimic the current behaviour, which is:
After the resolve call, these Threads are gone again.

What do you guys think? Should we change the current "implicit default" to
re-use a Thread Pool?
Is a ThreadPoolExecutor with timeout fine to mimic the current behaviour,
or would we want to change this, lets say to have a dedicated thread pool
always available for Felix Resolve calls? (This would then be like

I am trying to get this change into karaf 4.0.8.


Fabian Lange | Performance Expert
mobil: +49 (0) 160.3673393

codecentric AG | Merscheider Straße 1 | 42699 Solingen | Deutschland

Sitz der Gesellschaft: Solingen | HRB 25917| Amtsgericht Wuppertal
Vorstand: Michael Hochgürtel . Mirko Novakovic . Rainer Vehns
Aufsichtsrat: Patric Fedlmeier (Vorsitzender) . Klaus Jäger . Jürgen Schütz

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message