Legolas Woodland wrote:


Hi thank you for reading my post
How i can apply transaction in a scenario like this :

In one of my web applicatinon page , i have 3 functions that each of them update/insert data to a table I use connection pool to retrieve a connection in each of those functions (i can use one connection for all of functions but i do not know whether it is good or not). Now the changes to database just should be applied if all of those functions insert data sucessfully.
my problem is that i do not know how i can use transaction in this case.

If you want to run all functions in the same transaction, they need to use the same connection.


I need just the transaction over these inserts , which kind of commit mode i should use?

How about something like this:

Connection conn = getConnectionFromPool();
conn.setAutoCommit(false);
boolean s1 = f1(conn);
boolean s2 = f2(conn);
boolean s3 = f3(conn);
if (s1 && s2 && s3) {
    conn.commit();
} else {
    conn.rollback();
}

--
Øystein

Reply via email to