des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Utilisation de l’ API de transaction<br />
méthode begin() pour commencer la transaction, puis la méthode commit()<br />
pour renvoyer les modifications dans la base de données. Ou alors, vous<br />
utilisez la méthode rollback() pour annuler toutes les modifications<br />
effectuées dans la transaction et restaurer la base de données dans l’état<br />
qu’elle avait avant le début de la transaction. Entre les métho<strong>des</strong> begin() et<br />
commit(), vous insérez le code qui effectue le travail de la transaction. Voici<br />
un exemple :<br />
public class NewSessionBean implements SessionBean {<br />
EJBContext ejbContext;<br />
public void doSomething(...) {<br />
javax.transaction.UserTransaction utx;<br />
javax.sql.DataSource dataSource1;<br />
javax.sql.DataSource dataSource2;<br />
java.sql.Connection firstConnection;<br />
java.sql.Connection secondConnection;<br />
java.sql.Statement firstStatement;<br />
java.sql Statement secondStatement;<br />
java.naming.Context context = new javax.naming.InitialContext();<br />
dataSource1 = (javax.sql.DataSource)<br />
context.lookup("java:comp/env/jdbcDatabase1");<br />
firstConnection = dataSource1.getConnection();<br />
firstStatement = firstConnection.createStatement();<br />
dataSource2 = (javax.sql.DataSource)<br />
context.lookup("java:comp/env/jdbcDatabase2");<br />
secondConnection = dataSource2.getConnection();<br />
secondStatement = secondConnection.createStatement();<br />
utx = ejbContext.getUserTransaction();<br />
utx.begin();<br />
firstStatement.executeQuery(...);<br />
firstStatement.executeUpdate(...);<br />
secondStatement.executeQuery(...);<br />
secondStatement.executeUpdate(...);<br />
utx.commit();<br />
firstStatement.close;<br />
secondStatement.close<br />
firstConnection.close();<br />
secondConnection.close();<br />
}<br />
...<br />
Gestion <strong>des</strong> transactions 13-7