Data source do mysql - JBoss 4.2

Estou com um problema que é o seguinte:

Estou "começando" neste assunto, e estou com um problema para acessar o Data Source do MySQL.

Os procedimentos que realizei foram o seguinte:

  1. Copiei o arquivo mysql-ds.xml do dir. JBOSS_HOME\docs\examples\jca para o dir. JBOSS_HOME\server\default\deploy
    e realizei as alterações necessárias.
<?xml version="1.0" encoding="UTF-8"?>

<!-- $Id: mysql-ds.xml 63175 2007-05-21 16:26:06Z rrajesh $ -->
<!--  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->

<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/db_agenda</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>******</user-name>
    <password>******</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <!-- should only be used on drivers after 3.22.1 with "ping" support
    <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
    -->
    <!-- sql to call when connection is created
    <new-connection-sql>some arbitrary sql</new-connection-sql>
      -->
    <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
      -->

    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

Depois copiei o jar mysql-connector-java-3.1.13-bin.jar para o dir. JBOSS_HOME\server\default\lib

Criei uma classe para acessar este data source


package com.teste;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class TesteDS {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		InitialContext ctx;
		try {
			ctx = new InitialContext();
			Object mysqlDs = ctx.lookup("java:/MySqlDS");
			
			if(mysqlDs != null) {
				System.out.println("Data Source encontrado!!");
			}else {
				System.out.println("Data Source não encontrado!!");
			}
		} catch (NamingException e) {
			e.printStackTrace();
		}
		

	}

}

Depois disso iniciei o JBOSS e verifiquei no JNDI View no jmx console que aparentemente estava ok!!

Após ter iniciado o JBoss, eu executei minha classe e é gerado uma exceção com a mensagem: MySqlDS not bound.

O que poderia estar acontecendo??? Já que fiz e refiz de vários jeitos e nada, já pesquisei vários sites e ao que parecia os procedimentos eram somente estes

Obrigado

Quando você está subindo o JBoss, aparece no console que o teu DS foi encontrado e inicializado?

Abraços

Obrigado aí por responder. Vamos lá

Eu executo o JBOSS pelo Eclipse, e no console eu percebo a seguinte mensagem:

10:28:06,928 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=OracleDS' to JNDI name 'java:OracleDS'

OBS: Aqui eu coloquei o problema que está acontecendo no trabalho, onde eu acesso um bd oracle, mas eu fiz as mesmas coisas, o erro é o mesmo…

Acredito que ele inicializou corretamente…

Quando executo o programa cliente mencionado anteriormente ele retorna NamingException OracleDS not bound

O que será???

Obrigado!

Olá Rodney eu estou com o mesmo problema para conectar com o postgres , o que vc descobriu ?