I am in agreement with Paul. Doing magic in your code is bad. If it is a bad 
datasource throw an exception. Let the programmer to tell you what exactly  
he want. Give him a constructor to create a registry with an in-mem database. 
Makes the programming model simple, easy to understand.

Thanks
Sanjaya

On Monday 03 December 2007, Paul Fremantle wrote:
> I'm bothered about the "fallback" to an inmemory database. I don't think
> that makes sense as something to do automatically.
>
> Surely its better for a user to explicitly try to start the JDBCReg and
> if that fails catch the exception or null and then create an in-mem Reg?
>
> Paul
>
> Sanjiva Weerawarana wrote:
> > +1 for 3 alternative constructors. Since the registry is unusable until
> > init'ed, IMO constructors make more sense.
> >
> > Thanks,
> >
> > Sanjiva.
> >
> > Chathura C. Ekanayake wrote:
> >> We want to allow users to configure registry database in different
> >> ways (e.g. using a data source, using a connection URL, specify
> >> whether to start in-memory database if other database is not available).
> >>
> >> So we provide few methods in the JDBCRegistry to configure them. We
> >> only want the registry to initialize after those parameters are
> >> configured.
> >> And we don't know whether the user is specifying them or not at the
> >> construction time. Therefore, user has to call init() after
> >> configuring them.
> >>
> >> Alternative would be to have 3 constructors.
> >>
> >> 1) JDBCRegistry() - Use default datasource name if available. If not
> >> available, use in-memory DB
> >>
> >> 2) JDBCRegistry(String datasourceName, boolean allowInMemoryDB) - Use
> >> given data source. If not available, use in-memory DB depending on the
> >> allowInMemoryDB parameter value
> >>
> >> 3) JDBCRegistry(String driverClass, String URL, String userName,
> >> String password, boolean allowInMemoryDB) - Use given connection URL
> >> to connect to the DB
> >>
> >> Thanks,
> >> Chathura
> >>
> >> Paul Fremantle wrote:
> >>> Chathura C. Ekanayake wrote:
> >>>> JDBCRegistry registry = new JDBCRegistry();
> >>>> registry.init();
> >>>
> >>> Love it! That's what I was looking for.
> >>>
> >>> Last question - why do we need init()?
> >>>
> >>> Paul
> >>>
> >>> _______________________________________________
> >>> Registry-dev mailing list
> >>> [email protected]
> >>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
> >>
> >> _______________________________________________
> >> Registry-dev mailing list
> >> [email protected]
> >> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev


_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev

Reply via email to