Jaliya, +1 to #1. Please commit the fix.
-- dims On 3/21/06, Jaliya Ekanayake <[EMAIL PROTECTED]> wrote: > Hi Devs, > > I was trying to use several axis2 clients in multiple threads and found > these problems. > > 1: > > When clients are configured to use a separate transport listener the status > of the listener (whether started or not) is kept in the ListenerManager and > is checked by the static methods of the ClientUtils class. So this leads to > synchronization problems and gives java.net.BindException. > Solution is to synchronize the methods in the ListenerManger and the > ClientUtils classes. I can commit the fix for this. > > 2: NullpointerException at the AddressingOutHandler > > java.lang.NullPointerException > at > org.apache.axis2.handlers.addressing.AddressingOutHandler.isAddressingHeaderAlreadyAvailable(AddressingOutHandler.java:407) > at > org.apache.axis2.handlers.addressing.AddressingOutHandler.invoke(AddressingOutHandler.java > :130) > at org.apache.axis2.engine.Phase.invoke(Phase.java:378) > at > org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:418) > at > org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:518) > at > org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:263) > at > org.apache.axis2.client.ServiceClient.sendReceiveNonBlocking(ServiceClient.java:481) > at org.apache.axis2.client.ServiceClient.sendReceive > (ServiceClient.java:425) > at > userguide.clients.EBLoadClient.run(EBLoadClient.java:130) > java.lang.NullPointerException > > The reason for this is we keep addressingNamespaceObject in the handler > itself. So with multiple threads it produces undefined behavior. > I think we should give a better fix for this rather than synchronization. > > So please have a look. > > Thanks, > > Jaliya > > > -- Davanum Srinivas : http://wso2.com/blogs/