+1 from me. I think it would be a bit easier to keep track of, and
we'd end up with one set of code, not three. Let me take a look at
implementing this.
Paul
On 8/2/07, Glen Daniels <[EMAIL PROTECTED]> wrote:
> Hi Paul:
>
> Paul Fremantle wrote:
> > Since I added the Startup model we now have 4 different uses of the
> > J2SE ServiceProvider code.
> > [...]
> > However, I'm also wondering if there is a way we can simplify all
> > these examples into one. Obviously if we had Java1.5 we could use
> > Generics for this, but we dont!
> >
> > Any ideas?
>
> One idea would be to use a single "Provider" marker interface for any
> class that's a Synapse plugin of any kind. Then your
> Service.providers() call looks up that interface, and all we do when we
> find one is ensure that the class is loaded (this may already happen
> inside sun.misc.Service in fact, I'm not sure). Then you leave it up to
> each plugin to handle registration by doing something like:
>
> class MyMediator implements Mediator, Provider {
> static {
> MediatorFactory.register(MyMediator.class);
> }
> }
>
> Pro: unifies interface, simplifies our code, static initializers don't
> strictly require service provider pattern.
>
> Con: requires plugin authors to call the correct registration API.
>
> I don't know if this kind of approach is worth it, but it did pop to mind.
>
> Thanks,
> --Glen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair
blog: http://pzf.fremantle.org
[EMAIL PROTECTED]
"Oxygenating the Web Service Platform", www.wso2.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]