Sto usando JDBC per parlare con il mio database Postgres. Se tutta la mia app scappa da una singola connessione, cioè c'è sempre una sola chiamata a;JDBC Transaction vs Connection Chiarimento
DriverManager.getConnection("jdbc:postgresql://host:5432/database", user, pass);
Ma questo oggetto Connection
è condiviso tra più thread in Java, ho ragione nel ritenere che qualsiasi tentativo di utilizzare le transazioni SQL (BEGIN
e COMMIT
di stile) è solo andare a essere molto confusa e di rotture, data la potenziale per interleave dei thread Java? L'oggetto Connection
'sa' quale thread Java lo sta usando per fare interrogazioni?
Devo avere un oggetto Connection
per thread Java e utilizzare le transazioni SQL in questo modo? O dovrei eseguire tutto il mio isolamento transazionale in Java usando synchronized
?
Sfrutta il tuo problema e usa [JDBC Connection Pooling] (http://stackoverflow.com/q/2835090/1065197) –