You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Bryan Field-Elliot <br...@netmeme.org> on 2002/04/06 07:52:11 UTC

Is there a localhost optimization?

Hi,

We're building a SOAP service which can be a client or a server (of
itself). Sometimes (frequently, actually), we need to invoke methods on
the same webapp instance on the same server. Does Axis contain any
optimizations to "shortcut" the serialization & wire transfer, if it
notices that you're trying to make a call to the same server etc? The
EJB vendors eventually put this kind of optimization into place (before
Sun invented the Local Interface for EJB). 

If Axis doesn't have anything like this built in, then, can anyone
recommend a design pattern and simpe mechanism for performing a shortcut
by hand?

Thank you,

Bryan





Re: Is there a localhost optimization?

Posted by Glen Daniels <gd...@macromedia.com>.
Hi Bryan!

Axis has a "local" transport which basically does what you want (i.e. calls an in-proc server) but it currently enforces serialization/deserialization both ways across the connection.  This is because the transport is primarily used for testing.  It would be very easy to turn this into a "fastLocal" transport which avoided the serialization step - take a look at org.apache.axis.transport.local.  On the sending side, LocalSender would have to have a boolean flag to indicate whether to serialize, and you simply wouldn't deploy the LocalResponder in the "fastLocal" transport's response chain on the server side.  If you're psyched to do this work and submit it as a patch, that would be great!  Otherwise, we can add it to our to-do list, but as always people work on the stuff they think is important first, so it might be a while... :)

--Glen
  ----- Original Message ----- 
  From: Bryan Field-Elliot 
  To: axis-user@xml.apache.org 
  Sent: Saturday, April 06, 2002 12:52 AM
  Subject: Is there a localhost optimization?


  Hi, 

  We're building a SOAP service which can be a client or a server (of itself). Sometimes (frequently, actually), we need to invoke methods on the same webapp instance on the same server. Does Axis contain any optimizations to "shortcut" the serialization & wire transfer, if it notices that you're trying to make a call to the same server etc? The EJB vendors eventually put this kind of optimization into place (before Sun invented the Local Interface for EJB). 

  If Axis doesn't have anything like this built in, then, can anyone recommend a design pattern and simpe mechanism for performing a shortcut by hand? 

  Thank you, 

  Bryan