Hello, this is the scenario:
I have an application that must have two interfaces: as a desktop application 
and as a web application
I've put the business logic inside a JAR library (client_bpm.jar), which must 
connect to an Oracle 9i database
I configured the web application so it can use a db pool connection, in the 
following manner:

1. Added to %CATALINA_HOME%/conf/server.xml the following:
  <Server>
    <GlobalNamingResources>
      <Resource name="jdbc/RAM_DB"
            auth="Container"
            type="javax.sql.DataSource"
            username="*****"
            password="*****"
            driverClassName="oracle.jdbc.OracleDriver"
            url="jdbc:oracle:thin:*****"
            removeAbandoned="true"
            removeAbandonedTimeout="60"
            logAbandoned="true"
            maxActive="8"
            maxIdle="4"
            maxWait="2000"/>    
    </GlobalNamingResources>
  </Server>

2. Added to %CATALINA_HOME%/conf/context.xml the following:
  <ResourceLink 
    name="jdbc/RAM_DB"
    global="jdbc/RAM_DB"
    type="javax.sql.DataSource"
  />

3. Added to %CATALINA_HOME%/webapps/myWebApp/WEB-INF/web.xml the following:
  <resource-ref>
    <description>
      Resource reference to a factory for java.sql.Connection
      instances that may be used for talking to a particular
      database that is configured in the Context
      configurartion for the web application.
    </description>
    <res-ref-name>
      jdbc/RAM_DB
    </res-ref-name>
    <res-type>
      javax.sql.DataSource
    </res-type>
    <res-auth>
      Container
    </res-auth>
  </resource-ref>

4. Added my business library (client_bpm.jar) to 
%CATALINA_HOME%/webapps/myWebApp/WEB-INF/lib
5. Added JDBC library (ojdbc14.jar) to %CATALINA_HOME%/lib
6. Use the following code to get a db connection:
  Context initCtx = new InitialContext();
  Context envCtx = (Context) initCtx.lookup("java:comp/env");
  DataSource ds = (DataSource) envCtx.lookup("jdbc/RAM_DB");
  Connection conn= ds.getConnection();

And the web application runs fine, i have no problems with it
Now, what i want is to use the same db connection pool facility (that Tomcat 
provides to web applications) on my desktop application, and use the same code 
(or something very similar) i used in point 6 to obtain a db connection
With points 1-3 Tomcat provided my web application with a db connection pooling 
facility
I want Tomcat to provide to my desktop application the same db connection 
pooling facility, ¿How do i do that?
I have tried invoking my desktop application with the following:
java -classpath 
".;%CATALINA_HOME%/webapps/myWebApp/WEB-INF/lib/client_bpm.jar;%CATALINA_HOME%/lib/catalina.jar;%CATALINA_HOME%/bin/tomcat-juli.jar;%CATALINA_HOME%/lib/ojdbc14.jar"
 -Djava.naming.factory.initial=org.apache.naming.java.javaURLContextFactory 
-Djava.naming.factory.url.pkgs=org.apache.naming MyDesktopApp

And got the following error:
javax.naming.NameNotFoundException: Name java: is not bound in this Context
        at org.apache.naming.NamingContext.list(NamingContext.java:345)
        at org.apache.naming.NamingContext.list(NamingContext.java:368)
        at javax.naming.InitialContext.list(InitialContext.java:436)
        at MyDesktopApp.main(MyDesktopApp.java:12)

Any suggestions will be appreciated
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Aviso Confidencial.-

Este correo electrónico, así como los archivos adjuntos que contenga son 
confidenciales de conformidad con las leyes aplicables, y es para uso exclusivo 
del destinatario al que expresamente se le ha enviado. Si usted no es el 
destinatario legítimo del mismo, deberá reportarlo al remitente del correo y 
borrarlo inmediatamente. Cualquier revisión, retransmisión, divulgación, 
difusión o cualquier otro uso de este correo, por personas o entidades 
distintas a las del destinatario legítimo, queda expresamente prohibido. Los 
derechos de propiedad respecto de la información, material, bases de datos, 
diseños, y los distintos elementos en él contenidos son titularidad de Mapfre 
Tepeyac, S. A. Este correo electrónico no pretende ni debe ser considerado como 
constitutivo de ninguna relación legal, contractual o de otra índole similar.

 

Confidencial Notice.-

This e-mail, as such as the attached files it contains are confidential in 
accordance with the applicable laws, and is for exclusive use to expressly 
addressee has been sending. If you are not the legitimate addressee itself, you 
will must report to sender of mail and cross it immediately. Any review, 
re-transmission, disclosure, dissemination or any other use of this mail, from 
people or different entities from the legitimate addressee, is prohibited. The 
property rights about the information, material, databases, designs, and the 
different components in it contains are ownership of  MAPFRE Tepeyac, S. A. 
This e-mail do not pretend, neither it should be considered of any legal or 
contractual relationship.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Reply via email to