I see that a lot of subscription requests are involved.
By looking at request 10a0000011ae80eb4af, the log shows that the answer comes 2.5 seconds after the timeout has expired. A look at the log above this snippet, at around 15:45:36, should confirm that request 10a0000011ae80eb4af was issued at that time, hence the Remote Adapter has taken as many as 12.5 seconds to fulfill it.

Do you think it's possible that all this time is spent in the "subscribe" method of your Remote Adapter?
If this is possible, then you should rewrite the "subscribe" code in order to return immediately and perform all the subscription stuff in an asynchronous way. See useful remarks on the subscribe documentation for the java case.
Unfortunately, this might complicate the Adapter very much, because, after you return from "subscribe", you may get an "unsubscribe" call at any time and your asynchronous subscription stuff may not have finished yet.