As described in the question and answer in this Stack Overflow post and this JDK issue, the ExecutorService returned by Executors.newSingleThreadExecutor can be finalized and shut down while still in use.
This may cause a RejectedExecutionException to be thrown while HttpRequest#executeAsync(Executor) is submitting its task.
I suggest changing HttpRequest#executeAsync() to use an ExecutorService returned by Executors#newFixedThreadPool(1), which isn't wrapped in a FinalizableDelegatingExecutorService.
As described in the question and answer in this Stack Overflow post and this JDK issue, the
ExecutorServicereturned byExecutors.newSingleThreadExecutorcan be finalized and shut down while still in use.This may cause a
RejectedExecutionExceptionto be thrown whileHttpRequest#executeAsync(Executor)is submitting its task.I suggest changing
HttpRequest#executeAsync()to use anExecutorServicereturned byExecutors#newFixedThreadPool(1), which isn't wrapped in aFinalizableDelegatingExecutorService.