Hi all,
I got some problems with ws-rm and try to reproduce them in a systest:
https://github.com/cschneider/cxf/tree/inorderdelaytest2
This is the new test:
https://github.com/cschneider/cxf/blob/e975eae7340eaf08c1c0d5db4db1fcbb738f5b91/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/DeliveryAssuranceOnewayTest.java#L243-L279
The test uses a at least once and in order policy for the rm service.
It writes to the service using several threads and adds a delay to the
second message.
In this test not all messages arrive.
I have a delay in the loop that sends the requests to keep them in order
when initiating them.
When I use the interceptor to delay the message 2 then I see this
warning and not all messages arrive:
Jun 16, 2017 12:44:12 PM org.apache.cxf.ws.rm.Proxy acknowledge
WARNING: It is not possible to send out-of-band acknowledgments to the
anonymous address.
An acknowledgement will be piggybacked on the next response.
Interestingly the test even fails if I remove the interceptor and make
the delay in the loop smaller. In this case it is just a plain ws-rm
service without tweaks. I wonder why this fails.
When I remove the delay in the loop I see this:
un 16, 2017 12:45:43 PM org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging
WARNING: Interceptor for
{http://cxf.apache.org/greeter_control}GreeterService#{http://cxf.apache.org/greeter_control}greetMeOneWay
has thrown exception, unwinding now
java.lang.IllegalStateException: AsyncContext completed and/or Request
lifecycle recycled
at
org.eclipse.jetty.server.AsyncContextState.state(AsyncContextState.java:54)
at
org.eclipse.jetty.server.AsyncContextState.dispatch(AsyncContextState.java:121)
at
org.apache.cxf.transport.http.Servlet3ContinuationProvider$Servlet3Continuation.redispatch(Servlet3ContinuationProvider.java:137)
at
org.apache.cxf.transport.http.Servlet3ContinuationProvider$Servlet3Continuation.resume(Servlet3ContinuationProvider.java:143)
at
org.apache.cxf.ws.rm.DestinationSequence.wakeupAll(DestinationSequence.java:402)
Any ideas?
Christian
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com