On Thu, May 3, 2012 at 10:17 AM, Anjana Fernando <anj...@wso2.com> wrote:

> Hi Nuwan,
>
> On Thu, May 3, 2012 at 10:01 AM, Nuwan Bandara <nu...@wso2.com> wrote:
>
>> Hi Anjana,
>>
>> I would like to know how I can use the data source component for the
>> Database API we provide via Jaggery. right now we using DBCP and obtain a
>> database connection where the user is specifying the connection url etc. do
>> you see a usecase to use the data source component.
>>
>
> So the data source implementation can be used in two ways. First just as
> an API to creating DataSource objects to create connections. This is
> creating your own data sources locally in your app, without registering it
> in a global way. That is where you will simply need to use the
> "org.wso2.carbon.ndatasource.rdbms.RDBMSDataSource", where you can give it
> the properties like connection URL, user / password and all and create
> connections. The other case is to register the data sources globally, using
> the *-datasources.xml files in the file system or in the registry by users
> using the UI. In this way, you can do a JNDI lookup or use the OSGi service
> that is provided to do an in-memory lookup to get the data sources. The
> advantage of this is, the connection pools are centrally handled, and also
> have automatic sync of data sources within a cluster, which is basically,
> if you update/delete a data source in one node, it will be reflected by all
> the nodes in the cluster.
>
> So in short I guess, in Jaggery, you can use
> "org.wso2.carbon.ndatasource.rdbms.RDBMSDataSource" in creating local data
> sources, which you will in turn will get the jdbc-pool functionality, and
> also give support for providing a JNDI name and do a lookup internally (in
> case you don't already have it yet), for creating database connections.
>

Great will look into it.


>
> Cheers,
> Anjana.
>
>
>>
>> Regards,
>> /Nuwan
>>
>>
>> On Thu, May 3, 2012 at 9:57 AM, Anjana Fernando <anj...@wso2.com> wrote:
>>
>>> Hi Amila,
>>>
>>> On Thu, May 3, 2012 at 9:28 AM, Amila Jayasekara <ami...@wso2.com>wrote:
>>>
>>>>
>>>> +1 for having a unified data source access management across the
>>>> platform. This will solve the issue of creating multiple database
>>>> pools by each component. But is there a specific reason to switch to
>>>> jdbc-pool from DBCP ?
>>>>
>>>
>>> Yeah, Tomcat guys have given a list of reasons here [1], at the
>>> beginning of the page, onto why they created a new pooling implementation.
>>> They have mentioned, DBCP is single threaded and because of poor
>>> concurrency handling, it's comparatively slow, not actively developed
>>> anymore, and jdbc-pool is a much simpler implementation with more features
>>> and have better performance.
>>>
>>>
>>> [1] http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
>>>
>>> Cheers,
>>> Anjana.
>>>
>>>
>>>>
>>>> Thanks
>>>> AmilaJ
>>>>
>>>> >
>>>> >
>>>> >
>>>> > On Thu, May 3, 2012 at 6:03 AM, Anjana Fernando <anj...@wso2.com>
>>>> wrote:
>>>> >>
>>>> >> Hi,
>>>> >>
>>>> >> I've implemented a new data source implementation, which was added
>>>> to the
>>>> >> Carbon Core. It was added to Carbon Core because, this functionality
>>>> is to
>>>> >> be used by registry / user manager in looking up data sources using
>>>> JNDI.
>>>> >> Following are the improvements over the older implementation.
>>>> >>
>>>> >> * The connection pooling implementation has been changed to
>>>> jdbc-pool,
>>>> >> from DBCP, all of jdbc-pool properties are supported, see [1].
>>>> >> * Carbon Secure Vault support.
>>>> >> * Encryption of password fields etc.. when persisting data sources
>>>> in the
>>>> >> registry.
>>>> >> * Database provider given DataSource support, i.e. that implements
>>>> >> javax.sql.DataSource, javax.sql.XADataSource, for example if someone
>>>> need to
>>>> >> use Oracle supplied poolable DataSource implementation, it is
>>>> possible to do
>>>> >> so, and also required for creating data sources to be used in
>>>> distributed
>>>> >> transactions.
>>>> >> * Automatic sync of data sources in a clustered environment using the
>>>> >> coordination component.
>>>> >> * Pluggable data source types, so other than RDBMS data sources can
>>>> be
>>>> >> registered using this (for in-memory, JNDI access).
>>>> >>
>>>> >> The earlier datasources.properties like functionality is now given
>>>> using a
>>>> >> separate directory for defining data source, at
>>>> >> /repository/conf/datasources/. Inside it, it has a single file
>>>> >> master-datasources.xml that is coming from Carbon Core. It contains
>>>> the data
>>>> >> source definition for registry/user-manager database. A single file
>>>> can
>>>> >> contain multiple data sources. If need to add more data sources,
>>>> also a new
>>>> >> file with the pattern *-datasources.xml can be created, and they
>>>> will be
>>>> >> loaded. This was done for products to easily add data sources, for
>>>> example,
>>>> >> bps-datasources.xml separately, without maintaining one global data
>>>> sources
>>>> >> file, which means, it has to maintain data sources used in Carbon
>>>> Core in
>>>> >> their product.
>>>> >>
>>>> >> A UI has not been yet created for this, it will be added when the
>>>> product
>>>> >> releases are done. I've simply tested the functionality by manually
>>>> calling
>>>> >> the admin service.
>>>> >>
>>>> >> I was told that the registry support looking up data sources using
>>>> JNDI,
>>>> >> but I couldn't find the configuration element that is used to do it.
>>>> Senaka,
>>>> >> please add the necessary settings for registry.xml, the JNDI name to
>>>> use is
>>>> >> "jdbc/WSO2CarbonDB", which is mentioned in master-datasources.xml.
>>>> >>
>>>> >> Also, the places that contain DBCP code, please migrate the code to
>>>> the
>>>> >> new implementation, an RDBMS data source can be directly created
>>>> using the
>>>> >> class "org.wso2.carbon.ndatasource.rdbms.RDBMSDataSource".
>>>> >>
>>>> >> [1] http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
>>>> >>
>>>> >> Cheers,
>>>> >> Anjana.
>>>> >> --
>>>> >> Anjana Fernando
>>>> >> Associate Technical Lead
>>>> >> WSO2 Inc. | http://wso2.com
>>>> >> lean . enterprise . middleware
>>>> >>
>>>> >> _______________________________________________
>>>> >> Dev mailing list
>>>> >> Dev@wso2.org
>>>> >> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > /sumedha
>>>> > +94 773017743
>>>> >
>>>> > _______________________________________________
>>>> > Architecture mailing list
>>>> > architect...@wso2.org
>>>> > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Mobile : +94773330538
>>>>
>>>
>>>
>>>
>>> --
>>> *Anjana Fernando*
>>> Associate Technical Lead
>>> WSO2 Inc. | http://wso2.com
>>> lean . enterprise . middleware
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> *Thanks & Regards,
>>
>> Nuwan Bandara
>> Associate Technical Lead & Member, MC, Development Technologies
>> WSO2 Inc. - lean . enterprise . middleware |  http://wso2.com
>> blog : http://nuwanbando.com; email: nu...@wso2.com; phone: +94 11 763
>> 9629
>> *
>> <http://www.nuwanbando.com/>
>>
>
>
>
> --
> *Anjana Fernando*
> Associate Technical Lead
> WSO2 Inc. | http://wso2.com
> lean . enterprise . middleware
>



-- 
*Thanks & Regards,

Nuwan Bandara
Associate Technical Lead & Member, MC, Development Technologies
WSO2 Inc. - lean . enterprise . middleware |  http://wso2.com
blog : http://nuwanbando.com; email: nu...@wso2.com; phone: +94 11 763 9629
*
<http://www.nuwanbando.com/>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to