[EMAIL PROTECTED] wrote:
> 
> Rafal,
> 
> It seems that the code below doesn't work as it was meant to. As
> newInstance() is static, bootstrap() will not call the subclassed version of
> it but the local one. Sorry to bother you so much with my small problem, but
> a working solution would be to simply let the static instance member to be
> protected either at the BaseServiceBroker level or at the TurbineServices
> level. Then it's the task of the extending subclass to implement a safe
> bootstrap() assigning the customized broker.

Yeah, it seems that I tired to be too smart ;-)

What about that: 

public class BaseServiceBroker
    extends BaseInitableBroker
    implements ServiceBroker
{
    /** The single instance of this class */
    protected static ServiceBroker instance = null;

    /**
     * This methods allows access to the single instance of this class
     * existing in the system.
     *
     * If the call occurs before the first call to {@link
#bootstrap(Object)}
     * is made, <code>null</code> will be returned.
     *
     * @returns The ServiceBroker instance.
     */
    public static ServiceBroker getInstance()
    {
        return instance;
    }

    /**
     * This method creates new ServiceBroker instance for the system.
     *
     * The ServiceBroker implementation must provide an implementation
     * of bootstrap methods that meeds the following requirements:
     * <ul>
     * <li> If there is an instance of ServiceBroker running, it should
be
     * shut down.
     * <li> All essentional services should be initialized by the time
this 
     * method returns.
     * <li> Precautions should be taken against concurrent execution of 
     * this method by multiple threads.
     * </ul>    
     *
     * @param data The implementation dependent data used to create
     *        the essential services.
     */
    public static abstract ServiceBroker bootstrap(Object data);

    // ...
}    

Rafal

--
Rafal Krzewski
Senior Internet Developer
mailto:[EMAIL PROTECTED]
+48 22 8534830 http://e-point.pl


------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to