Description
we tried to implement bi directional ws communication (both sides are client and servers)
methods were annotated with @oneway to make sure that on the other side request is processed in separate thread and to make sure requesting thread do not wait for the server processing (because server can issue another request back).
Unfortunately there is confusing part of the code in org/apache/cxf/interceptor/OneWayProcessorInterceptor.java
} catch (RejectedExecutionException e) {
//the executor queue is full, so run the task in the caller thread
chain.resume();
that ignores @oneway and continues with the current thread, which means requesting thread (acting as client) will wait... in some cases forever (or till some network timeout)
What is even worse, there is no single log line indicating that (and suggesting to increase thread pool size), so it was really hard to debug it