[Registry-dev] Registry as a library inside other products

Sanjiva Weerawarana sanjiva at wso2.com
Tue Dec 4 03:46:17 PST 2007


+1.

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
> 
> 
> 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
>>>>>> Registry-dev at wso2.org
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Registry-dev mailing list
>>>>> Registry-dev at wso2.org
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>>>>
>>>>
>>>
>>
>>
>> _______________________________________________
>> Registry-dev mailing list
>> Registry-dev at wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>
> 

-- 
Sanjiva Weerawarana, Ph.D.
Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
email: sanjiva at wso2.com; cell: +1 650 265 8311 | +94 77 787 6880

"Oxygenating the Web Service Platform."




More information about the Registry-dev mailing list