Galera, to com um problema aqui, configurei um ConnectionPool no server.xml do tomcat dessa forma:
<Context
path="/Aplicacao"
docBase="Aplicacao">
<Resource
name="jdbc/aliasConexao"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@//servidor:porta/aliasBanco"
username="usuarioBanco"
password="SenhaBanco"
maxActive="30"
maxIdle="10"
maxWait="-1"/>
</Context>
Estou usando JDBC puro, nada de hibernate nessa app, daí criei uma classe abstrata chamada Connector que tem o método:
public static Connection getConnection(){
Context initContext;
try {
initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/aliasBanco");
conn = ds.getConnection();
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
Daí cada servlet resgata o objeto Connection através desta classe.
Até aí blza, não sei se é a melhor implementação, mas tudo bem, o que tá ocorrendo é que cada chamada ao servlet cria uma sessão no banco de dados oracle, a pergunta é, se eu estou utilizando o DataSource do Tomcat ele não deveria resgatar sempre a mesma conexão? ou será que eu tô bem por fora do assunto e fazendo “caca”? :?
[]'s
Eduardo