I was using/exploring Qpid Broker-J 9.1.0
while exploring the source code of *Qpid Broker-J 9.1.0 tag*.
I found that google guava's concurrency API is used.
After exploring it bit more i realized that we can easily use java's
*CompletableFuture
and ForkJoinThreadPool* instead of *ListenableFuture, AbstractFuture,
ListeningExecutorService, SettableFuture,  MoreExecutors,...* also  guava's
ByteStreams can be replaced with java's built-in methods in few places.

Due to the work-stealing capability of *ForkJoinThreadPool* i think it can
give performance boost to qpid-broker-j.

The only possible down-side I can think of is that *CompletableFuture *is
concrete implementation rather than abstract class or interface*. *Maybe
someone can suggest an improvement on this idea which takes care of
possible down-side i mentioned earlier.

possibly one less dependency for the project in the long run as well.

Reply via email to