Ele pode estar contido em: META-INF/context.xml no projeto;
conf/context.xml dentro do servidor;
e nas configurações de servidores do eclipse
<Resource name="jdbc/teste" auth="Container" type="javax.sql.DataSource"
maxActive="150" maxIdle="75" maxWait="10000" minIdle="50"
timeBetweenEvictionRunsMillis="30000" minEvictableIdleTimeMillis="60000"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
username="mm" password="123456" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@mmdigitaltst:1522:xe"/>
Na sua classe para conexão:
import javax.naming.Context; import javax.naming.InitialContext;
ou utilizar o injectioin:import javax.annotation.Resource;@Resource(name="jdbc/teste")DataSource ds;
Context initContext;
try {
initContext = new InitialContext();
// NO TOMCAT
// Context envContext = (Context)initContext.lookup("java:/comp/env");
// DataSource ds = (DataSource)envContext.lookup("jdbc/teste");
// NO JBOSS
Context envContext = new InitialContext();
DataSource ds = (DataSource)envContext.lookup("java:jdbc/teste");
//
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from ami_cliente");
int x = 0;
PrintWriter pw = response.getWriter();
while(rs.next()){
pw.println(x);
System.out.println(x);
x++;
}
pw.flush();
pw.close();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
vamos informar ao Hibernate que ele vai usar uma conexão JNDI, para o Hibernate o que importa é o path. Se amanhã você mudar a senha de conexão, vai precisar alterar apenas o arquivo context.xml que está na pasta Server dentro do Eclipse, lembrando que isso é em ambiente de teste. Abaixo, veja como ficou meu arquivo hibernate.cfg.xml:<hibernate-configuration> <session-factory name="hibernate/SessionFactory"> <property name="hibernate.connection.datasource">java:/comp/env/jdbc/lpjava</property> <property name="hibernate.current_session_context_class">thread</property> <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> <property name="hibernate.jdbc.batch_size">0</property> <mapping class="br.com.camilolopes.bean.TUsuario"/> </session-factory> </hibernate-configuration>
Mais informações: http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
http://jbossdivers.wordpress.com/2011/08/31/configurando-data-source-no-jboss-as-6-1/
http://www.mastertheboss.com/jboss-datasource/jboss-datasource-configuration