actually there's not much to post as it a simple prototype at the moment to
validate the impact of a full blown cache in the future.

For the test I simply implemented the service locator as a singleton and set
each of the stubs as a member variable in the locator. The first call to
retrieve a service (stub) via the locator initializes the appropriate stub
if it's null.

Pretty simple and definitely not thread safe at the moment but it validates
the point we were looking into.

If you need more info I can send it onto you directly.

Conor.

-----Original Message-----
From: Steve Earl [mailto:[EMAIL PROTECTED]
Sent: Wednesday, July 30, 2003 6:27 PM
To: [EMAIL PROTECTED]
Subject: Re: Stub Caching


Would you mind posting some of your caching code?

Steve...


>>> [EMAIL PROTECTED] 07/30/03 16:45 PM >>>
Hi,
  I just wanted to share some insight we have had with some performance
testing of web services sitting on top of Axis.

Based on the initial analysis carried out the majority of the time spent on
the client side when invoking web services is in the method
YOUR_SERVICE_STUB.createCall(). This in turn calls Call.regiterTypeMapping()
(org.apache.axis.client.Call) where the time is actually spent. The method
createCall() is autogenerated by WSDL2Java.

If you look at the comments you will notice that the stub is intended to be
cached but you must implement the caching of stubs however you see fit for
your application.

Under load in our tests we saw performance improvements from approximately
28 seconds to 1.5 seconds by caching the stubs.

Conor.




Reply via email to