You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Benjamin Szekely <bs...@cornell.edu> on 2001/10/22 04:48:50 UTC

multiple transports in same memory space

Hi,
   I've been developing transports for Apache SOAP 2.2 and now Axis.  One thing I noticed in 2.2 was that there was no way for services deployed over multiple transports to share the same memory space on the server side.  Each transport has its own platform, ie TCPListener, SMTPListener..  I developed a way to allow the transports to share the same configuration.  I designated the RPCRouterServlet (now AxisServlet) as the main platform on which other transport listeners would run their threads.  Then, in the deployment descriptor for each service, I specified a parameter which pointed to the classname which would fire up the listeners for transports over which the service was deployed.  For example, consider the TCP transport.  In the deployment descriptor, I would have an attribute serviceInitializerClassname="TCPListener", and perhaps some options such as port, ssl, etc...Then, when the Servlet is initialized, it runs through the list of deployed services, and initializes all listeners.  (Such listeners would have to be statically pooled to allow for multiple services to be deployed over TCP using the same port.)  What this all allows, in summary, is for services to share the same configuration information, and maintain state over multiple transports.  Has such an architecture been discussed already?  

  Ben Szekely