Done
http://issues.apache.org/jira/browse/AXIS2-726

Chamikara


On 5/13/06, Davanum Srinivas <[EMAIL PROTECTED]> wrote:
Please don't forget to log a bug and upload a diff :)

thanks,
dims

On 5/12/06, Chamikara Jayalath <[EMAIL PROTECTED]> wrote:
> Hi Jaliya,
>
>  I could get this working after two changes.
>
>  Firstly Axis2 stops the SAS listner when the serviceClient.finalizeInvoke
> () is called.
>  so I commented out the following line in the finally block.
>  sender.finalizeInvoke();
>
>
>  Secondly there seems to be a bug in the
> serviceclient.sendReceiveNonBlocking(QName,
> OMElement,Callback) method.
>  It is setting a new CallbackReceiver every time the method is called.
> Insted this should be
>  set only if its not already there in the operation. So I corrected this
> method as following.
>
>
>      public void sendReceiveNonBlocking(QName operation, OMElement elem,
>                                         Callback callback)
> throws AxisFault {
>          MessageContext mc = new MessageContext();
>          fillSoapEnvelope(mc, elem);
>          OperationClient mepClient = createClient(operation);
>          // here a blocking invocation happens in a new thread, so the
>          // progamming model is non blocking
>          mepClient.setCallback(callback);
>          mepClient.addMessageContext (mc);
>          if (options.isUseSeparateListener()) {
>              if (callbackReceiver == null) {
>                  callbackReceiver = new CallbackReceiver();
>              }
>
>              if
> (axisService.getOperation(operation).getMessageReceiver()==null)
>
> axisService.getOperation(operation).setMessageReceiver(callbackReceiver);
>          }
>          mepClient.execute(false);
>      }
>  (changed line is in bold).
>
>
>  After these two changes this worked for me. I tested upto 100 threads.
>
>
>
>  Chamikara
>
>
>
>
> On 5/13/06, Jaliya Ekanayake <[EMAIL PROTECTED]> wrote:
> >
> > Oops wrong file. Please use the attached
> >
> >
> >
> > On 5/12/06, Jaliya Ekanayake < [EMAIL PROTECTED]> wrote:
> > >
> > > Hi Devs,
> > >
> > > I wanted to run several clients to measure some performance.
> > > The attached client does not get the result for all the threads and it
> hangs. IMHO the problem is due to the way we use the client side transport
> listener.
> > > If client has some control at least to stop it then we will be able to
> handle this kind of scenarios.
> > >
> > > Although I am using the same service for all the clients a more
> realistic example would be to invoke two services (or two operations)
> asynchronously sharing same configuration context.
> > >
> > > Can someone point me what is the error I have in the attached code.
> > >
> > > Thanks,
> > >
> > > Jaliya
> > >
> > >
> >
> >
> >
>
>


--
Davanum Srinivas : http://wso2.com/blogs/

Reply via email to