Paul Fremantle wrote: > I understand that we are using HSQLDB to provide the in-memory DB, its > just a bit odd that the class is called JDBCRegistry. > > From a beginners perspective, wouldn't it make more sense to have > another class called InMemoryRegistry. Of course under the covers it can > use the JDBCRegistry with HSQLDB? > > I'm just trying to think of this from a beginning programmers > perspective, and I'm not convinced everyone is going to automatically > think of using a JDBCRegistry to do in-memory. > > So my preference would be: > > new InMemoryRegistry() > new JDBCRegistry(String datasourceName) - Use the given data source. > new JDBCRegistry(String driverClass, String URL, String userName, String > password) - Use given connection URL to connect to the DB Sounds good. +1. Chathura please do send a note if you make the change cause the Mashup Server depends on this API.
Thanks, Keith. > > > Paul > > Chathura C. Ekanayake wrote: >> >> +1. So shall we remove "allowInMemoryDB" parameter from all >> constructors and only start the in-memory database if the default >> constructor is used. >> >> Then the constructors would look like: >> >> 1) JDBCRegistry() - Use in-memory DB. >> >> 2) JDBCRegistry(String datasourceName) - Use the given data source. >> >> 3) JDBCRegistry(String driverClass, String URL, String userName, >> String password) - Use given connection URL to connect to the DB >> >> Thanks, >> Chathura >> >> 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 >> > _______________________________________________ Registry-dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
