1 Reply Latest reply on Mar 5, 2004 11:51 PM by betty80906

    JBoss 3.2.3, MySql 4.0.3-nt  deploy problems

    betty80906

      JBoss is giving the following two errors when deploying an Entity Bean using MySql as the data source. I can send any additional configuration files you wish to see. I do have an application.xml file in the location where JBoss indicates the file is missing.

      In reference to the first error, I did a search within the configuration files to find where JBoss might be requesting the "30.mysql-ds.xml" file and found no file calling for such a file. There is a "mysql-ds.xml" file in the location where JBoss says it is looking for the "30.mysql-ds.xml" file.

      Here are the log file errors from JBoss. Thank you for any assistance. I have been working on this diligently for two grad school assignments but am stymied with the projects due next Monday. I've researched JBoss and MySql issues for a week now. Appreciate any direction.

      Regards

      Betty

      JBoss jboss-3.2.1_tomcat-4.1.24
      MySql 4.-.13-nt
      jdk1.4.1_04
      MyEclipse 3.0

      2:56:52,964 ERROR [MainDeployer] Could not make local copy for
      file:/C:/jboss-3.2.1_tomcat-4.1.24/server/default/deploy/mysql-ds.xml
      java.io.FileNotFoundException: C:\jboss-3.2.1_tomcat-4.1.24\server\default\tmp\deploy\server\default\deploy\mysql-ds.xml\30.mysql-ds.xml (The system cannot find the path specified)

      2004-03-04 23:24:48,073 ERROR [org.jboss.deployment.scanner.URLDeploymentScanner] Failed to deploy: org.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL@1ffaef8{ url=file:/C:/jboss-3.2.1_tomcat-4.1.24/server/default/deploy/MSCO676Lab3.ear/, deployedLastModified=0 }
      org.jboss.deployment.DeploymentException: exception in init of file:/C:/jboss-3.2.1_tomcat-4.1.24/server/default/deploy/MSCO676Lab3.ear/; - nested throwable: (org.jboss.deployment.DeploymentException: No META-INF/application.xml found)

      Here is the mysql-ds.xml:


      <local-tx-datasource>
      <jndi-name>MySqlDS</jndi-name>
      <connection-url>jdbc:mysql//localhost:3306/addressList</connection-url>
      <driver-class>com.mysql.jdbc.Driver</driver-class>
      <user-name></user-name>

      </local-tx-datasource>


      Here is the application.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">

      <display-name>MSCO676Lab3</display-name>


      <web-uri>MSCO676Lab3Web.war</web-uri>
      <context-root>/MSCO676Lab3Web</context-root>



      MSCO676Lab3EJB.jar




      Here is my login-conf.xml also:

      <?xml version='1.0'?>
      <!DOCTYPE policy PUBLIC
      "-//JBoss//DTD JBOSS Security Config 3.0//EN"
      "http://www.jboss.org/j2ee/dtd/security_config.dtd">

      <!-- The XML based JAAS login configuration read by the
      org.jboss.security.auth.login.XMLLoginConfig mbean. Add
      an application-policy element for each security domain.

      The outline of the application-policy is:
      <application-policy name="security-domain-name">

      <login-module code="login.module1.class.name" flag="control_flag">
      <module-option name = "option1-name">option1-value</module-option>
      <module-option name = "option2-name">option2-value</module-option>
      ...
      </login-module>

      <login-module code="login.module2.class.name" flag="control_flag">
      ...
      </login-module>
      ...

      </application-policy>

      $Revision: 1.6.2.1 $
      -->


      <!-- Used by clients within the application server VM such as
      mbeans and servlets that access EJBs.
      -->
      <application-policy name = "client-login">

      <login-module code = "org.jboss.security.ClientLoginModule"
      flag = "required">
      </login-module>

      </application-policy>

      <!-- Security domain for JBossMQ -->
      <application-policy name = "jbossmq">

      <login-module code = "org.jboss.mq.sm.file.DynamicLoginModule"
      flag = "required">
      <module-option name = "unauthenticatedIdentity">guest</module-option>
      <module-option name = "sm.objectname">jboss.mq:service=StateManager</module-option>
      </login-module>

      </application-policy>

      <!-- Security domains for testing new jca framework -->
      <application-policy name = "HsqlDbRealm">

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

      </application-policy>

      <application-policy name = "FirebirdDBRealm">

      <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule"
      flag = "required">
      <module-option name = "principal">sysdba</module-option>
      <module-option name = "userName">sysdba</module-option>
      <module-option name = "password">masterkey</module-option>
      <module-option name = "managedConnectionFactoryName">jboss.jca:service=XaTxCM,name=FirebirdDS</module-option>
      </login-module>

      </application-policy>

      <application-policy name = "JmsXARealm">

      <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule"
      flag = "required">
      <module-option name = "principal">guest</module-option>
      <module-option name = "userName">guest</module-option>
      <module-option name = "password">guest</module-option>
      <module-option name = "managedConnectionFactoryName">jboss.jca:service=TxCM,name=JmsXA</module-option>
      </login-module>

      </application-policy>

      <!-- A template configuration for the jmx-console web application. This
      defaults to the UsersRolesLoginModule the same as other and should be
      changed to a stronger authentication mechanism as required.
      -->
      <application-policy name = "jmx-console">

      <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
      flag = "required" />

      </application-policy>

      <!-- The default login configuration used by any security domain that
      does not have a application-policy entry with a matching name
      -->
      <application-policy name = "other">
      <!-- A simple server login module, which can be used when the number
      of users is relatively small. It uses two properties files:
      users.properties, which holds users (key) and their password (value).
      roles.properties, which holds users (key) and a comma-separated list of their roles (value).
      The unauthenticatedIdentity property defines the name of the principal that will be used when a null username and password are presented as is the case for an unuathenticated web client or MDB. If you want to allow such users to be authenticated add the property, e.g.,
      unauthenticatedIdentity="nobody"
      -->

      <login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule"
      flag = "required" />

      </application-policy>



      I read that I can use the getConnection(user,pswd) for login without defining a security domain in the login-config.xml, but that if I did define one, it would take precedence. As you can see, I have not done so.

      Thanks to anyone who can read through all this and assist.



      If I do need to create an entry in login-conf.xml,I would appreciate some clarification on the entries. The module-opion name of "principal" - how is that created in the database? I assume the username and password are those I use in my getConnection request. I guess I don't understand the connection between the login-conf and my application. My next class is a database admin class; but, meanwhile, I'm a bit rusty and have been looking on the web but not finding information aout the simple things sometimes.

      A message at http://junlu.com/msg/36941.html indicates I do not have to have a login-conf.xml entry for MySql, but some seem to think I cannot accomplish the deployment without one. As always there are many paths to go down.

      Thanks again,

      Betty