axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anthony Elder" <>
Subject Re: [wsif] Proposed change to WSIF service factory
Date Wed, 18 Dec 2002 18:24:24 GMT

The code policeman probably wont like you catching Exception rather than
each specific Exception subclasses, and also not tracing that the exception
is ignored.
If there was a problem would the user want to  know by having a
WSIFException thrown instead of just returning the default factory? For
example if there's a security problem?


Anthony Elder
Web Services Development
IBM UK Laboratories,  Hursley Park
(+44) 01962 818320, x248320, MP208.

Nirmal Mukhi/Watson/IBM@IBMUS on 18/12/2002 16:45:49

Please respond to

Subject:    [wsif] Proposed change to WSIF service factory


I'd like to change the newInstance method in the WSIF service factory.
currently it just instantiates the default factory implementation. This is
a problem since it doesn't allow users to plug in their own factories. We
should follow the JAXP-style algorithm for looking for a suitable factory
before resorting to the default one.

For now however, I'm proposing just a simple change which gives the desired
flexibility with minimum change to code: just looking for a system property
that names the desired factory. Jeremy since you've been taking care of
this part of the code, can you eyeball this before I commit any change?

Here's the proposed method with changes:

    public static WSIFServiceFactory newInstance() {

        String desiredFactory =
        WSIFServiceFactory wsf = null;
        if (desiredFactory!=null) {
            try {
                Class factoryClass = Class.forName(desiredFactory);
                wsf = (WSIFServiceFactory) factoryClass.newInstance();
            } catch (Exception exception) {
                // ignore the exception and instantiate default factory
                wsf = new WSIFServiceFactoryImpl();
        } else {
            wsf = new WSIFServiceFactoryImpl();
        // Create the simple types map for use by other WSIF classes

        return wsf;

What do you think?


View raw message