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:[EMAIL PROTECTED]]
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: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>