Non sono abbastanza sicuro di come formulare la domanda, quindi sentitevi liberi di dirmi che sto pensando completamente male.JDBCTemplate con TransactionTemplate e Connection Pool, quale origine dati utilizzare
Desidero utilizzare JdbcTemplate
e TransactionTemplate
. Ricomincio iniziando il mio pool di connessioni come origine dati e creando anche un gestore transazioni come origine dati?
BoneCPConfig connectionPoolConfig = new BoneCPConfig();
connectionPoolConfig.setJdbcUrl(...);
connectionPoolConfig.setUsername(...);
connectionPoolConfig.setPassword(...);
connectionPoolConfig.setMinConnectionsPerPartition(...);
connectionPoolConfig.setMaxConnectionsPerPartition(...);
dataSource = new BoneCPDataSource(connectionPoolConfig);
DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
definition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource);
Ma ora voglio creare la mia TransactionTemplate e JdbcTemplate:
transactionTemplate = new TransactionTemplate(transactionManager);
JdbcTemplate jdbc = new JdbcTemplate(transactionManager.getDataSource());
Ora discussioni mulitple accedere transactionTemplate
e jdbc
. Questo codice garantisce che tutto ciò che viene fatto in doInTransaction
utilizza la stessa connessione per tutte le chiamate jdbc?
La connessione è in qualche modo collegata internamente, poiché sembra che JdbcTemplate e TransactionTemplate possano utilizzare la connessione che desiderano. Il mio codice è corretto/salvo?