Ola pessoal, estou criando uma aplicação web e na minha classe ConnectionFactory faço a conexao via data source...
o problema eh q no trecho de codigo que cria um objeto DataSource esta retornando null...
segue abaixo as devidas configurações pra q vcs possam analisar e se possivel me ajudar...
jboss-4.2.2.GA\server\projeto\deploy\db2-ds.xml<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/NOME</jndi-name>
<use-java-context>true</use-java-context>
<connection-url>jdbc:db2:MEUDB</connection-url>
<driver-class>COM.ibm.db2.jdbc.app.DB2Driver</driver-class>
<transaction-isolation>TRANSACTION_READ_UNCOMMITTED</transaction-isolation>
<user-name>db2inst1</user-name>
<password>cmsoftware</password>
<min-pool-size>0</min-pool-size>
<!-- sql to call when connection is created -->
<new-connection-sql>select count(*) from mensagem</new-connection-sql>
<!-- sql to call on an existing pooled connection when it is obtained from pool -->
<check-valid-connection-sql>select count(*) from mensagem</check-valid-connection-sql>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>DB2</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- =========== DATASOURCE ============= -->
<resource-ref>
<res-ref-name>jdbc/NOME</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!-- =========== DATASOURCE ============= -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<resource-ref>
<res-ref-name>jdbc/NOME</res-ref-name>
<jndi-name>java:/jdbc/NOME</jndi-name>
</resource-ref>
</jboss-web>
public class ConnectionFactory {
// Log
private static final Logger log = Logger.getLogger(ConnectionFactory.class);
// JNDI
public static final String JNDI_NOME = "java:comp/env/jdbc/NOME";
public static Connection getDB2Connection() throws ConnectionFactoryException {
return getDB2Connection(JNDI_NOME);
}
/**
* Fornece uma conexão obtida através de um Datasource
* @param jndiName
* @return Conexão com a base de dados
* @throws ConnectionFactoryException
*/
public static Connection getDB2Connection(String jndiName)
throws ConnectionFactoryException {
Context ctx;
DataSource ds;
try {
ctx = new InitialContext();
ds = (DataSource) ctx.lookup(jndiName); // AQUI ESTA ME RETORNANDO NULL
} catch (Exception e) {
log.error(null, e);
throw new ConnectionFactoryException(e.getMessage());
}
Connection conn;
try {
conn = ds.getConnection();
} catch (SQLException e) {
log.error(null, e);
throw new ConnectionFactoryException("Erro de conexão com o Banco de Dados");
}
try {
DatabaseMetaData dma = conn.getMetaData();
log.debug("Conectado a " + dma.getURL() + " usando " + conn.hashCode());
} catch (Exception e) {}
return conn;
}
}
adicionei o arquivo db2java.jar na pasta
\jboss-4.2.2.GA\server\projeto\lib
galera nao sei mais o que tentar...
agradeço a atençao...
