You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Steve Wilkinson <ws...@forethought.net> on 2003/08/22 15:12:46 UTC

DataSourceRealm with MySQL

Hi,

I'm struggling with creating a DataSourceRealm with MySQL.
I'm running Tomcat 4.1.27-LE-jdk14 on Windows2K

First, I can get the following example to work:
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html

So, I don't think it's a MySQL thing.

I've tried the settings from Scott Stewart's email and it doesn't work:
http://www.mail-archive.com/tomcat-user@jakarta.apache.org/msg99745.html

Here is my server.xml:

------------------------------  server.xml -------------------------
<Server port="8005" shutdown="SHUTDOWN" debug="0">


  <Listener
    className="org.apache.catalina.mbeans.ServerLifecycleListener"
    debug="0"/>
  <Listener
  className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
  debug="0"/>

  <GlobalNamingResources>
    <Resource
       name="jdbc/authority"
       type="javax.sql.DataSource"
       auth="Container"/>

    <ResourceParams name="jdbc/authority">
      <parameter>
        <name>username</name>
        <value>mysql</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>mysql</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.mysql.jdbc.Driver</value>
      </parameter>
      <parameter>
         <name>url</name>
         <value>
            jdbc:mysql://localhost:3306/authority?autoReconnect=true
         </value>
      </parameter>
      <parameter>
         <name>removeAbandoned</name>
         <value>true</value>
      </parameter>
      <parameter>
        <name>removeAbandonedTimeout</name>
        <value>60</value>
      </parameter>
      <parameter>
         <name>logAbandoned</name>
         <value>true</value>
      </parameter>
      <parameter>
         <name>maxActive</name>
         <value>100</value>
      </parameter>
      <parameter>
         <name>maxIdle</name>
         <value>10000</value>
      </parameter>
      <parameter>
         <name>maxWait</name>
         <value>10000</value>
      </parameter>
    </ResourceParams>

     </GlobalNamingResources>

     <Service name="Tomcat-Standalone">

         <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
             port="8080" minProcessors="5" maxProcessors="75"
             enableLookups="true" redirectPort="8443"
             acceptCount="100" debug="0" connectionTimeout="20000"
             useURIValidationHack="false" disableUploadTimeout="true" />

         <Engine name="Standalone" defaultHost="localhost" debug="99">

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

             <Realm className="org.apache.catalina.realm.DataSourceRealm"
                 debug="99"
                 dataSourceName="java:/comp/env/jdbc/authority"
                 userTable="users"
                 userNameCol="user_name"
                 userCredCol="user_pass"
                 userRoleTable="user_roles"
                 roleNameCol="role_name"/>

             <Host name="localhost" debug="99" appBase="webapps"
                 unpackWARs="true" autoDeploy="true">

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

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

             </Host>

         </Engine>

     </Service>

</Server>

---------------------------------------------------------------------
Here is the error message I get from Tomcat when I use my server.xml above:

ServerLifecycleListener: Can't create mbean for realm
org.apache.catalina.realm.
DataSourceRealm@1f66cff

Note, I was able to the the JDBCRealm working fine.