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:
- 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