You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-user@jakarta.apache.org by Unico Hommes <Un...@hippo.nl> on 2002/01/15 17:06:36 UTC

RE: J2EEDescriptorsStore - Still not working

Hi,

I still have not been able to get the J2EEDescriptorStore working. Somehow I suspect you did something else as well before you finally fixed the problem. I have checked out the code from the cvs today and build the stores.jar from that. Unfortunately I couldn't do a full-dist. I added some debugging code into the code of J2EEDescriptorsStore in the initialize method right before looking up the jndi context java:comp/env and found out that the exception I get is exactly that lookup : 

<code>
Context envCtx = (Context) initCtx.lookup("java:comp/env");
</code>

Resulting in the following exception in my log file :

15 Jan 2002 16:26:39 - slidestore.j2ee.J2EEDescriptorsStore - ERROR - javax.naming.NameNotFoundException: Name java:comp is not bound in this Context


I then wrote a small test servlet that tries the same lookup to check that I correctly changed the server.xml and web.xml files in the %CATALINA_HOME%/conf directory. I deployed the servlet in a test context in %CATALINA_HOME%/webapps/test. It turns out that I can do a lookup that way and also see my configured data source from there.


So somehow the classloader that loads the J2EEDescriptorsStore is not seeing the same things as the one that loads my test app. What else could I do to find out what's going on and possibly even get it working. Is it possible that something changed in the catalina wrapper code since the 1.0.16 release ? I tried to build the wrappers from source but got a lot of compilation errors.

Here's my server.xml and web.xml files :

server.xml :

<Server port="8005" shutdown="SHUTDOWN" debug="0">

  <Listener className="wrappers.catalina.SlideServerListener"
            logLevel="6" />
  <!-- Define the Tomcat Stand-Alone Service -->
  <Service name="Slide Tomcat">

    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8080" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="60000"/>

    <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true"
	       acceptCount="10" debug="0" scheme="https" secure="true">
      <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
               clientAuth="false" protocol="TLS"/>
    </Connector>
    -->

    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost" debug="0">
	<DefaultContext>
	<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
	  <ResourceParams name="jdbc/test">
	   <parameter>
	    <name>user</name>
	    <value>root</value>
	   </parameter>
	   <parameter>
	    <name>password</name>
	    <value></value>
	   </parameter>
	   <parameter>
	    <name>driverClassName</name>
	    <value>org.gjt.mm.mysql.Driver</value>
	   </parameter>
	   <parameter>
	    <name>driverName</name>
	    <value>jdbc:mysql://localhost:3306/test</value>
	   </parameter>
	  </ResourceParams>
	</DefaultContext>

      <!-- Global logger unless overridden at lower levels -->
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_log." suffix=".txt"
              timestamp="true"/>

      <!-- Define the default virtual host -->
      <Host name="localhost" debug="0" appBase="webapps" unpackWARs="false"
       configPath="slide" className="wrappers.catalina.SlideHost">

        <Realm className="org.apache.catalina.realm.MemoryRealm" />

        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common"/>

        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
	        timestamp="true"/>

        <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->

        <!-- Tomcat Manager Context -->
        <Context path="/tomcat-manager" docBase="tomcat-manager.war" 
         debug="0" privileged="true"/>

	<!--
	<Context path="/test" docBase="/test" debug="0" reloadable="true">
	</Context>
	-->
      </Host>

    </Engine>

  </Service>


  <!-- Define the Tomcat Stand-Alone Service -->
  <Service name="Slide WebDAV">

    <!-- Define a non-SSL HTTP/1.1 Connector on port 8081 -->
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8081" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="60000"/>

    <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true"
	       acceptCount="10" debug="0" scheme="https" secure="true">
      <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
               clientAuth="false" protocol="TLS"/>
    </Connector>
    -->

    <!-- Define the top level container in our container hierarchy -->
    <Engine name="WebDAV" defaultHost="localhost8081" debug="0">
	<DefaultContext>
	<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
	  <ResourceParams name="jdbc/test">
	   <parameter>
	    <name>user</name>
	    <value>root</value>
	   </parameter>
	   <parameter>
	    <name>password</name>
	    <value></value>
	   </parameter>
	   <parameter>
	    <name>driverClassName</name>
	    <value>org.gjt.mm.mysql.Driver</value>
	   </parameter>
	   <parameter>
	    <name>driverName</name>
	    <value>jdbc:mysql://localhost:3306/test</value>
	   </parameter>
	  </ResourceParams>
	</DefaultContext>
      <!-- Global logger unless overridden at lower levels -->
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_webdav_log." suffix=".txt"
              timestamp="true"/>

      <!-- Define the default virtual host -->
      <Host name="localhost8081" debug="0" appBase="blank" unpackWARs="false"
       className="wrappers.catalina.WebdavHost">
	
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="webdav_access_log." suffix=".txt"
                 pattern="common"/>

        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="webdav_log." suffix=".txt"
	        timestamp="true"/>

        <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->

      </Host>

    </Engine>

  </Service>
  
  <!-- Define the Slide Admin Service -->
  <Service name="Slide Admin">

    <!-- Define a non-SSL HTTP/1.1 Connector on port 8082 -->
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8082" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="60000"/>

    <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true"
	       acceptCount="10" debug="0" scheme="https" secure="true">
      <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
               clientAuth="false" protocol="TLS"/>
    </Connector>
    -->

    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Admin" defaultHost="localhost8082" debug="0">

	<DefaultContext>
	<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
	  <ResourceParams name="jdbc/test">
	   <parameter>
	    <name>user</name>
	    <value>root</value>
	   </parameter>
	   <parameter>
	    <name>password</name>
	    <value></value>
	   </parameter>
	   <parameter>
	    <name>driverClassName</name>
	    <value>org.gjt.mm.mysql.Driver</value>
	   </parameter>
	   <parameter>
	    <name>driverName</name>
	    <value>jdbc:mysql://localhost:3306/test</value>
	   </parameter>
	  </ResourceParams>
	</DefaultContext>

      <!-- Global logger unless overridden at lower levels -->
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_admin_log." suffix=".txt"
              timestamp="true"/>

      <!-- Define the default virtual host -->
      <Host name="localhost8082" debug="0" appBase="blank" unpackWARs="false"
       className="wrappers.catalina.AdminHost">

        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="admin_access_log." suffix=".txt"
                 pattern="common"/>

        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="admin_log." suffix=".txt"
	        timestamp="true"/>

        <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->


      </Host>

    </Engine>

  </Service>


</Server>


web.xml :

...

  <resource-ref>
    <res-ref-name>jdbc/test</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

Thanks,
U.

-----Oorspronkelijk bericht-----
Van: Jason Harrop [mailto:jason@xn.com.au]
Verzonden: Friday, January 11, 2002 3:34 PM
Aan: Slide Users List
Onderwerp: Re: J2EEDescriptorsStore - SUCCESS!


Turns out that the problem was that the J2EE Stores Howto is a bit 
wrong.  In the sample server.xml file, the @name for element 
ResourceParams has value "jdbc/mtx_system".  It should have value 
"jdbc/mtx".

Also, for anyone trying this with Hypersonic, the driverClassName and 
driverName parameters specified in the Tomcat JNDI Resources HOW-TO 
didn't work for me. I had to use the following (ie what we put in 
domain.xml):

                         <parameter>
                                 <name>driverClassName</name>
                                 <value>org.hsqldb.jdbcDriver</value>
                         </parameter>
                         <parameter>
                                 <name>driverName</name>
			<value>jdbc:hsqldb:slidestructure</value>
                         </parameter>

cheers,

Jason



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>