Sto sviluppando un'applicazione Java web e utilizzare la connessione Tomcat pooling, qui è la mia impostazione:può utilizzare contemporaneamente il pool di Hibernate e Tomcat Connection?
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/jdbcPool"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="*******"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/dbname?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"/>
</Context>
e il mio DAO:
public static Connection dbConnection() throws NamingException {
Context initContext;
DataSource ds = null;
Connection conn = null;
try {
initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
ds = (DataSource) envContext.lookup("jdbc/jdbcPool");
conn = ds.getConnection();
}catch (SQLException ex){
logger.error("SQLException Occurred in DAO.dbConnection() Method, Exception Message is: " + ex.getMessage(), ex);
}
catch (RuntimeException er){
logger.fatal("SQLException Occurred in DAO.dbConnection() Method, Exception Message is: " + er.getMessage(), er);
}catch(Exception rt){
logger.fatal("Exception Occurred in DAO.dbConnection() Method, Exception Message is: " + er.getMessage(), er);
}
return conn;
}
voglio usare letargo così ho rifattorizziamo una certa parte del il mio codice, ora voglio sapere è possibile per me usarli entrambi nella mia applicazione (voglio dire che parte del mio codice usa ibernazione e parte usa la mia connessione DAO?) Se sì, cosa accadrà a quelle tabelle che non è mappato con l'ibernazione, ma alcune tabelle mappate hanno una relazione con loro?
vuoi dire che ometto la mia configurazione JNDI in context.xml e quando voglio Quering DB (non voglio usarlo in ibernazione) ottieni una connessione da hibernate sessionFactory? quindi agire come una connessione JDBC comune? – Am1rr3zA
@gid Puoi spiegare perché? Hibernate fornisce la propria gestione delle transizioni (o verrà utilizzato JTA), quindi perché ti interessa quando la connessione viene chiusa o, piuttosto, restituita al pool? Sembra che tu stia facendo manualmente un sacco di ciò che Hibernate potrebbe fare per te. Mi sto perdendo qualcosa? – ChssPly76
Voglio dire omettere le impostazioni di connessione (cioè il riferimento JNDI e/o qualsiasi altro riferimento alle connessioni dalla configurazione di ibernazione) –