I'm a little confused you seem to be
adressing a slightly different issue?
I understand that it's beneficial to
create a system without globals (static objects). What are the issues today
- is it just the config that's static and causing us not to have this model?
Why have the isServer boolean? What
is it you're trying to achieve?
Tim Bartley <firstname.lastname@example.org> wrote on
> I would really like to see this implemented in conjunction with
> solving the multiple instances per process problem.
> i.e have I guess something like:
> class Axis;
> Axis* Axis::initialize(AxisCPP_Configuration* config, bool isServer);
> and then have the Web service constructors accept an "Axis"
> rather than just an AxisCPP_Configuration object to their constructors.
> The Axis object would encapsulate all of the current global
> variables - it should be opaque.
> In order to avoid having to pass an Axis* everywhere, maybe a first
> approximation of this would be to set an Axis* as thread-local-
> storage. Yuck but may be quicker implementation - the top level
> interfaces could be set up to have the final interface including an
> Axis* and this would allow a more gradual propagation of the change.
> IBM Tivoli Access Manager Development
> Gold Coast Development Lab, Australia
> +61-7-5552-4001 phone
> +61-7-5571-0420 fax
> John Hawkins <HAWKINSJ@uk.ibm.com>
> 06/05/2005 23:39
> Please respond to
> "Apache AXIS C Developers List"
> New client configuration API
> Hi Folks,
> we'd like to implement a new API for configuration of the client-side.
> I've written a vrief synopsis of what is there to day and what we'd
> like to do..........
> The environment variable is AXISCPP_DEPLOY. This variable is used
> the configuration system to look up a file called axiscpp.conf. This
> file consists of the following:
The path to the axis client log
> #ClientWSDDFilePath: The path to the client
The xml parser library
The HTTP transport library
The HTTP transport channel library
> #Channel_HTTP_SSL: The HTTP transport
secure channel library
> This data can be placed in a new configuration Object with the
> following signature (Pseudo)
> get/set ClientLog(String);
> get/set ClientWSDDFile(String);
> get/set XMLParserLibrary(String);
> get/set TransportLibrary(String);
> get/set HTTPChannelLibrary(String);
> get/set HTTPSSLChannelLibrary(String);
> A new Web Service constructor will be created that takes in an
> AxisCPP_Configuration object. This constructor will be in addition
> to the current range of constructors that are created for each service.
> The user may create a web service using the constructor. However,
> they attempt to use the constructor with a configuration object more
> than once in any given process the configuration object will be
> ignored i.e. the engine can only be configured once per process.
> Client WSDD files will still be required and no new API will be
> introduced for them.
> thoughts please?