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.
