Hi,

I am porting a J2EE app to Tomcat 4.0.  However I keep getting a null for my
datasource retrieval.  I am not sure if Tyrex datasource would do the job.
Or do I need to create my own Oracle datasource.  I should not have too but
who knows.Any help would be appreciated.

I have the Classes12.zip and jdbc2_0-stdext in the \lib directory.

I have the following in my server.xml for Tomcat 4.0.

                                <!-- Power Context -->
                                <Context path="/PowerSouthin"
docBase="PowerSouthin.war" debug="0" reloadable="true">
                                        <Logger
className="org.apache.catalina.logger.FileLogger" prefix="Power_log."
suffix=".txt" timestamp="true"/>
                                        <Resource name="jdbc/OracleDB"
auth="Container" type="javax.sql.DataSource"/>
                                        <ResourceParams
name="jdbc/OracleDB">
                                                <parameter>
                                                        <name>user</name>
                                                        <value>xxxxx</value>
                                                </parameter>
                                                <parameter>
        
<name>password</name>
                                                        <value>xxxxx</value>
                                                </parameter>
                                                <parameter>
        
<name>driverClassName</name>
        
<value>oracle.jdbc.driver.OracleDriver</value>
                                                </parameter>
                                                <parameter>
        
<name>driverName</name>
        
<value>jdbc:oracle:thin:@xxx.xxx.xxx.xxx</value>
                                                </parameter>
                                        </ResourceParams>
                                </Context>
                                

I have the following in my web.xml for my application:
<web-app>
        <!-- Standard Action Servlet Configuration (with debugging) -->
        <servlet>
                <servlet-name>action</servlet-name>
        
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
                <init-param>
                        <param-name>application</param-name>
                        <param-value>ApplicationResources</param-value>
                </init-param>
                <init-param>
                        <param-name>config</param-name>
        
<param-value>/WEB-INF/struts-config.xml</param-value>
                </init-param>
                <init-param>
                        <param-name>debug</param-name>
                        <param-value>2</param-value>
                </init-param>
                <init-param>
                        <param-name>detail</param-name>
                        <param-value>2</param-value>
                </init-param>
                <init-param>
                        <param-name>validate</param-name>
                        <param-value>true</param-value>
                </init-param>
                <load-on-startup>2</load-on-startup>
        </servlet>
        <!-- Standard Action Servlet Mapping -->
        <servlet-mapping>
                <servlet-name>action</servlet-name>
                <url-pattern>*.do</url-pattern>
        </servlet-mapping>

        <!-- Resource Ref -->
        <resource-ref>
                <resource-ref-name>
                        jdbc/OracleDB
                </resource-ref-name>
                <res-type>
                        javax.sql.DataSource
                 </res-type>
                <res-auth>
                        Container
                </res-auth>
        </resource-ref>

I am getting the following console output:

----> In Try
----> ctx is: javax.naming.InitialContext@6de49c
----> envCtx is: org.apache.naming.NamingContext@7f0dde
----> have the initial context
----> dataSourceName =jdbc/OracleDB
----> m_jdbcSource = null

My JDBCSource.java is:

   try {

      if (DEBUG_ON) {
            System.out.println("----> In Try");
        }

        //InitialContext ctx = new InitialContext();
        Context ctx = new InitialContext();
        if (DEBUG_ON) {
            System.out.println("----> ctx is: "+ ctx);
        }
        Context envCtx = (Context) ctx.lookup("java:comp/env");

        if (DEBUG_ON) {
            System.out.println("----> envCtx is: " + envCtx);
        }

        synchronized (ctx) {
        if (DEBUG_ON) {
            System.out.println("----> have the initial context");
        }

        String dataSourceName ="jdbc/OracleDB";
      
        if (DEBUG_ON) {
          System.out.println("----> dataSourceName ="+ dataSourceName);
        }

        //m_jdbcSource = (DataSource) ctx.lookup(dataSourceName);
        m_jdbcSource = (DataSource) envCtx.lookup(dataSourceName);

        if (DEBUG_ON) {
          System.out.println("----> m_jdbcSource = "+ m_jdbcSource);
        }

      } //synchronized
    } catch (Exception e) {
      if (DEBUG_ON) {
        System.out.println(THIS +".initializeJDBCBean() failed. Exception: "
+ e.toString());
    }

      sErrorMessage = e.toString() +" " + THIS + ", method:
initializedJDBCBean.";
      ls.logError(sErrorMessage);
    } // catch

Reply via email to