2 Replies Latest reply on Apr 13, 2004 11:25 AM by myqyl4

    jndi configuration for mysql DB

    myqyl4 Newbie

      I am trying to install and run a example naked object persistence ejb to a mysql db.
      The example comes with a setup config file for jboss called mysql-service.xml.
      see next.


      <!-- ==================================================================== -->
      <!-- New ConnectionManager setup for mysql using 2.0.11 driver -->
      <!-- Build jmx-api (build/build.sh all) and view for config documentation -->
      <!-- ==================================================================== -->




      <!-- Include a login module configuration named MySqlDbRealm.
      Update your login-conf.xml, here is an example for a
      ConfiguredIdentityLoginModule:

      <application-policy name = "MySqlDbRealm">

      <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
      <module-option name = "principal">yourprincipal</module-option>
      <module-option name = "userName">yourusername</module-option>
      <module-option name = "password">yourpassword</module-option>
      <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=StandardDS</module-option>
      </login-module>

      </application-policy>

      NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the
      module-option name = "managedConnectionFactoryName"
      must match the object name of the ConnectionManager you are configuring here.
      -->
      <!--uncomment out this line if you are using the MySqlDbRealm above
      MySqlDbRealm
      -->

      <depends optional-attribute-name="ManagedConnectionFactoryName">
      <!--embedded mbean-->


      StandardDS



      <config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://localhost:3306/ecs</config-property>
      <config-property name="DriverClass" type="java.lang.String">com.mysql.jdbc.Driver</config-property>
      <!--set these only if you want only default logins, not through JAAS -->
      <config-property name="UserName" type="java.lang.String"></config-property>
      <config-property name="Password" type="java.lang.String"></config-property>




      <!--Below here are advanced properties -->
      <!--hack-->
      <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper




      <depends optional-attribute-name="ManagedConnectionPool">
      <!--embedded mbean-->


      0
      50
      5000
      15
      <!--criteria indicates if Subject (from security domain) or app supplied
      parameters (such as from getConnection(user, pw)) are used to distinguish
      connections in the pool. Choices are
      ByContainerAndApplication (use both),
      ByContainer (use Subject),
      ByApplication (use app supplied params only),
      ByNothing (all connections are equivalent, usually if adapter supports
      reauthentication)-->
      ByContainer



      <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager

      <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager

      java:/TransactionManager
      <!--make the rar deploy! hack till better deployment-->
      jboss.jca:service=RARDeployer









      NOW I add the application policay name to login-config.xml as stated and set the username and password accordingly.

      However when I try and start jboss i run into the following error.

      [MainDeployer] Starting deployment of package : file:/c:/jboss/jboss-3.2.3/server/ecs/deploy/mysql-service.xml
      [ServiceConfigurator] Problem configuring service jboss.jca:service=LocalTxDS,name=StandardDS
      org.jboss.deployment.DeploymentException :No Attribute found with name : JndiName
      ........More java exception stack messages.

      As You can see I am sure I am missing a configuration setup somewhere so that jboss can recognize StandardDS as my data source.

      I have tried a number of oprions but so far without lack.

      Anyone have any clues about what configuration setup i might be missing in-order to setup jndi correctly.

      Truly Appreciated.

      Thanks


      Paul

        • 1. Re: jndi configuration for mysql DB
          Jon Barnett Master

          That is an old format configuration - probably 3.0.x. Use the configuration examples from \docs\examples\jca.

          You'll want the mysql-ds.xml file and copy that into your deployment directory. It should be modified for your database login details. It will look something like this:

          <?xml version="1.0" encoding="UTF-8"?>
          
          <!-- ===================================================================== -->
          <!-- -->
          <!-- JBoss Server Configuration -->
          <!-- -->
          <!-- ===================================================================== -->
          
          <!-- $Id: mysql-ds.xml,v 1.1 2002/07/22 22:57:24 d_jencks Exp $ -->
          <!-- ==================================================================== -->
          <!-- Datasource config for MySQL using 2.0.11 driver -->
          <!-- ==================================================================== -->
          
          
          <datasources>
           <local-tx-datasource>
           <jndi-name>MySqlDS</jndi-name>
           <connection-url>jdbc:mysql://dell:3306/jbossdb</connection-url>
           <driver-class>org.gjt.mm.mysql.Driver</driver-class>
           <user-name>x</user-name>
           <password>y</password>
           </local-tx-datasource>
          
          </datasources>
          


          • 2. Re: jndi configuration for mysql DB
            myqyl4 Newbie

            Thanks!!
            Worked like a charm.

            paul