geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lasantha Ranaweera <lasan...@opensource.lk>
Subject Re: How to Access Geronimo Resources from a Web Application?
Date Wed, 20 Sep 2006 06:51:15 GMT
Thanks!!! It definitely helps.  :-)

David Jencks wrote:
> This won't quite work. There's no guarantee that a JCA 1.5 adapter 
> with a ResourceAdapter is going to have any outbound connectors at 
> all, nor will this pick up any jca 1.0 adapters without a 
> ResourceAdapter.
>
> What you want is to use ConnectionFactorySource as the interface in 
> your query.
>
> ConnectionFactorySource isn't the connection factory itself, you have 
> to call the oddly named method $getResource(). This could be a 
> datasource, a jms ConnectionFactory, or just about anything else, so 
> you have to test the results to see if its something you want.
>
>
> Kernel kernel = KernelRegistry.getSingleKernel();
> Collection cfss = kernel.listGBeans(new 
> AbstractNameQuery(ConnectionFactorySource.class.getName()));
> Collection datasources = new ArrayList();
> for (Iterator i = cfss.iterator(); i.hasNext(); ) {
> Object cf = kernel.invoke((AbstractName)i.next(), "$getResource", new 
> Object[] {}, new String[]{}); //this might not be the right signature 
> for the invoke method-- this is from memory
> if (cf instanceof DataSource) {
> datasources.add(cf);
> }
> }
>
> Hope this helps
> david jencks
>
>
>
> On Sep 19, 2006, at 10:51 PM, Lasantha Ranaweera wrote:
>
>> Hi Aaron,
>>
>> I want to test the existing db connections in the Geronimo with the 
>> help of a web application. Following code helped me to list the 
>> resource adapters in the server. Now my problem is how to identify 
>> which are the db connection adapters and convert them in to 
>> javax.sql.DataSource.
>>
>> Kernel kernel = KernelRegistry.getSingleKernel();
>> Set list = kernel.listGBeans(new 
>> AbstractNameQuery(ResourceAdapter.class.getName()));
>> for(Iterator iterator = list.iterator();iterator.hasNext();){
>> AbstractName name = (AbstractName)iterator.next();
>> ResourceAdapter ra = 
>> (ResourceAdapter)(kernel.getProxyManager().createProxy(name, 
>> ResourceAdapter.class));
>> //How to indentify is this ra is DataSource or not
>> }
>>
>> Any help would be appreciated. If this is can be done better way than 
>> this please let me know too.
>> Thanks,
>> Lasantha Ranaweera
>>
>> Aaron Mulder wrote:
>>> In Geronimo 1.1, you can use a gbean-ref to map the J2EEServer into
>>> the web application's JNDI space. From the J2EEServer, you can
>>> navigate to a list of resource adapters (J2EE Connectors), and I think
>>> there's a way to check which connection factory interface they
>>> implement (you'd want javax.sql.DataSource). There's probably a
>>> method in KernelManagementHelper that more or less does that (given a
>>> server get database connection pools) if you want something to refer
>>> to.
>>>
>>> Please write back if you need help with the details.
>>>
>>> Thanks,
>>> Aaron
>>>
>>> On 9/18/06, Lasantha Ranaweera <lasantha@opensource.lk> wrote:
>>>> Hi All,
>>>>
>>>> I want get the list of database connections deployed in the Geronimo
>>>> from a web application. Any help would be appreciated.
>>>>
>>>> Thanks,
>>>> Lasantha Ranaweera
>>>>
>>>
>>
>
>


Mime
View raw message