axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From susan...@opensource.lk
Subject RE: [AXIS-C++] AxisEngine should not be a singleton & it needs re fact oring.
Date Wed, 23 Jul 2003 08:46:37 GMT
On Wed, 23 Jul 2003 02:20:09 -0400, Lilantha Darshana wrote
> AxisEngine should be able to be configured depending on user 
> requirements, and properties of deployed services, handlers etc.. 

When AxisEngine loads it reads the server_config.wsdd which contains user 
requirements, handlers, services and their properties etc and makes the 
runtime environment accordingly. 

> For an example engine should be configured depending on what you 
> have in "server-config.wsdd" or you can create your own Server 
> Config (like BasicServerConfig.java & SimpleProvider.java) and hard 
> code the TransportHandlers & chains etc. 

What do you mean here by hard code the TransportHandlers & chains etc ?

> (Glen - correct me if I'm wrong). OR  when you want to 
> programmatically deploy components like Handlers, Transports, and 
> Services which is handy when you want to start with a base 
> configuration or the default WSDD and then dynamically add stuff 
> without changing the WSDD document.

Yes we have to improve the WSDD module to support dynamically adding stuff to 
the Axis without re-starting AxisEngine. Like what AdminClient web service 
does in Axis Java.

> 
> These configuration could be depends on the sessions as well! 
> So having a singleton will restrict that.

I think having a singleton object supports dynamically adding web services 
and handlers etc (effectively changing server_config.wsdd content) in a multi-
threaded environment (but not in a multi-process environment). 
This is because in a multi-threaded environment there is only one AxisEngine 
object. 

But in a multi-process environment there are multiple AxisEngine objects even 
if we use singleton objects. So when a service or handler is dynamically 
added to the server we have make sure all AxisEngine objects in each process 
gets updated.

Anyway supporting this feature should be added to TODO.txt. Thanks.

> 
> Thanks
> Lilantha
> 
> -----Original Message-----
> From: sanjayasing@opensource.lk [mailto:sanjayasing@opensource.lk]
> Sent: Wednesday, July 23, 2003 11:19 AM
> To: axis-dev@ws.apache.org
> Subject: Re: [AXIS-C++] AxisEngine should not be a singleton & it needs
> refact oring.
> 
> What would be engine configuration properties. can you give an example?
> 
> On Mon, 21 Jul 2003 08:32:05 -0400, Lilantha Darshana wrote
> > Hi C++ team,
> > 
> > I guess AxisEngine SHOULD NOT be a class-wide global singleton 
> > object. Engine configuration should be done for each user sessions.

I guess user sessions are something that happens at runtime. But Engine 
configuration is done when the web services are deployed either before 
starting the server or while it is running.
  
> > So singleton objects restricts this requirement. Please make it not 
> > to be a singleton.
> > 
> > It would be better if AxisClient & AxisServer can be derived from the
> > AxisEngine and
> > AxisEngine share common functionalities for both. Please refactor
> AxisEngine
> > & derive
> > AxisServer (for now -- and later AxisClient) from AxisEngine so that 
> > future extensions are easy.
> > 

yes thats the way.

> > regards
> > Lilantha
> 
> --
> University of Colombo Web-mail Service (http://cmb.ac.lk)


--
University of Colombo Web-mail Service (http://cmb.ac.lk)


Mime
View raw message