Last night I realized that the various messages I've sent about my
timeout woes reflect some conclusions I've drawn that may, in fact,
not be correct. So I write to start over.

The original setup was as follows (2.3.1):

Server side is very plain use of the CXF API to launch a JAX-WS endpoint.

Client side is an ordinary proxy, created using the CXF client factory.

Original problem:

Client program sits in a loop making requests to the server. The
responses to these requests have two MTOM attachments each.

After a few minutes of this, both sides grind to a halt, each waiting
for the other. Note that the service was actually trying to write a
response, not just sitting around waiting for the next request.

Eventually, client times out and gets an exception. On the server
side, Jetty declares the connection idle and forces it to close.

So, mystery #1: what is going on here? How could I try to diagnose it?

To work around this, I set the timeout time on the client to a fairly
small value, and implemented a retry loop. The retry loop does not
recreate the proxy. This, at least, allows the business to restart
after one of these incidents.

Last night, I tried changing to the blocking Jetty connector, since it
was described to more closely match my situation (not very many
connections). That made this situation much worse; it only took about
five interactions to set it off.

I don't know how to begin to diagnose this mess, since it has
something to do with timing, and I'm hoping for some ideas.

Reply via email to