geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: how to lookup a datasource from standalone java class
Date Thu, 23 Mar 2006 17:26:15 GMT

On Mar 23, 2006, at 6:05 AM, Siraj Mohamed wrote:

> Hi All,
>
>
>
> I have created a data source and I tried to look up this from a  
> standalone java class like this:
>
>
>
> try {
>
>  Context jndiCntx = new InitialContext();
>
>  DataSource ds = (DataSource) jndiCntx.lookup("MyDatasource");
>
>  DataSource ds =  (DataSource)obj;
>
>  System.out.println("Connected ….. ");
>
>  return ds.getConnection();
>
> } catch (Exception e) {
>
>  e.printStackTrace();
>
> }

This won't work.  Datasources deployed in geronimo are only available  
in the j2ee environment in which they are deployed: either a server  
or a j2ee app client in which you have deployed a datasource.  There  
is no way to access one from a different vm.

Furthermore you can only use jndi to look one up in a thread that has  
gone through a j2ee component such as an ejb or web app (or j2ee app  
client).

thanks
david jencks

>
>
> My class path has jndi.properties for Geronimo and I am getting  
> following exception in my class.
>
>
>
> javax.naming.NameNotFoundException: /MyDatasource not found
>
>             at org.openejb.client.JNDIContext.lookup 
> (JNDIContext.java:257)
>
>             at javax.naming.InitialContext.lookup 
> (InitialContext.java:361)
>
>
>
> And this is the server side error:
>
> ERROR [ContainerIndex] contianerId is not a valid ObjectName:  
> MyDatasource
>
>
>
> But I was able to lookup this data source from an entity bean like:
>
>  new InitialContext().lookup("java:comp/env/jdbc/MyExampleDS ");
>
>
>
> This the openejb-jar.xml for my EJB
>
>
>
> <openejb-jar
>
>     xmlns="http://www.openejb.org/xml/ns/openejb-jar"
>
>     xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
>
>     xmlns:security="http://geronimo.apache.org/xml/ns/security"
>
>     xmlns:sys="http://geronimo.apache.org/xml/ns/deployment"
>
>     configId="geronimo/CustomerEJB/1.0/car"
>
>     parentId="geronimo/system-database/1.0/car">
>
> <enterprise-beans>
>
>     <entity>
>
>         <ejb-name>CustomerEJB</ejb-name>
>
>         <jndi-name>CustomerHomeRemote</jndi-name>
>
>         <local-jndi-name>CustomerRemote</local-jndi-name>
>
>         <resource-ref>
>
>             <ref-name>jdbc/MyExampleDS</ref-name>
>
>             <resource-link>MyDatasource</resource-link>
>
>         </resource-ref>
>
>     </entity>
>
> </enterprise-beans>
>
> </openejb-jar>
>
>
>
> Could any one explain me the differences between two attempts?
>
>
>
> This is the data source deployment plan.
>
>
>
> <?xml version="1.0"?>
>
>
>
> <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector"
>
>            configId="MyDatasource"
>
>            parentId="geronimo/j2ee-server/1.0/car">
>
> <dependency>
>
>     <groupId>mysql</groupId>
>
>     <artifactId>mysql</artifactId>
>
>     <version>3.0</version>
>
> </dependency>
>
> <resourceadapter>
>
>   <outbound-resourceadapter>
>
>     <connection-definition>
>
>       <connectionfactory-interface>
>
>         javax.sql.DataSource
>
>       </connectionfactory-interface>
>
>       <connectiondefinition-instance>
>
>         <name>MyDatasource</name>
>
>         <config-property-setting name="UserName">
>
>           xmeta
>
>         </config-property-setting>
>
>         <config-property-setting name="Password">
>
>           xmeta
>
>         </config-property-setting>
>
>         <config-property-setting name="Driver">
>
>           com.mysql.jdbc.Driver
>
>         </config-property-setting>
>
>         <config-property-setting name="ConnectionURL">
>
>           jdbc:mysql://localhost:3306/xmeta
>
>         </config-property-setting>
>
>         <config-property-setting name="CommitBeforeAutocommit">
>
>            false
>
>         </config-property-setting>
>
>         <config-property-setting name="ExceptionSorterClass">
>
>            org.tranql.connector.NoExceptionsAreFatalSorter
>
>         </config-property-setting>
>
>
>
>         <connectionmanager>
>
>           <local-transaction/>
>
>           <single-pool>
>
>              <max-size>10</max-size>
>
>              <min-size>1</min-size>
>
>              <blocking-timeout-milliseconds>
>
>                 5000
>
>               </blocking-timeout-milliseconds>
>
>               <idle-timeout-minutes>
>
>                 30
>
>               </idle-timeout-minutes>
>
>               <match-one/>
>
>           </single-pool>
>
>         </connectionmanager>
>
>       </connectiondefinition-instance>
>
>     </connection-definition>
>
>   </outbound-resourceadapter>
>
> </resourceadapter>
>
> </connector>
>
>
>
>
>
> Thanks,
>
> Siraj
>
>


Mime
View raw message