I'm currently using CXF 2.0.3. While playing around with WS-Addressing, I've noticed a number of errors that occur when sending lots of messages. I've been able to reproduce them by making minor changes to the ws_addressing sample provided with CXF.
During these tests, I turned off logging for anything less than WARNING. In Client.java, I changed the following lines: implicitPropagation(port); explicitPropagation(port); implicitPropagation(port); to the following: int i = 0; while(true) { port.greetMeOneWay("Kyle"); i++; if(i % 10 == 0) { System.out.println("Sent " + i + " messages."); } } After calling greetMeOneWay() around 760 times in this way, I get an OutOfMemoryError. I profiled the client and server using YourKit, and both the client and server seem to have a memory leak -- the client runs out of memory first. The problem seems to be MAPCodec.uncorrelatedExchanges map -- it's using nearly all the heap memory available. I tried changing port.greetMeOneWay("Kyle") to port.sayHi() (which is not a one-way operation). Every once in a while (around every 100 messages), it will halt and eventually display the following: Jan 4, 2008 6:12:00 PM org.apache.cxf.endpoint.ClientImpl waitResponse WARNING: Timed out waiting for response to operation {http://apache.org/hello_world_soap_http}sayHi. YourKit indicates no memory leak on the client, but the server has the same memory leak the previous example had. Anyone have any ideas what's happening here? Thank you for your time. -- View this message in context: http://www.nabble.com/WS-Addressing-OutOfMemoryErrors-under-load-tp14628989p14628989.html Sent from the cxf-user mailing list archive at Nabble.com.