1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
public BasicJDBCDemo()
{
//SELECT FOR UPDATE
doSelectLockTest();
//Simple SELECT
doSelectTest();
}
private void doSelectLockTest()
{
System.out.println("[OUTPUT FROM SELECT Lock]");
PreparedStatement pst = null;
ResultSet rs=null;
Connection conn=null;
try
{
String query = "Select * from b2bicheckpoint where OID = ? FOR UPDATE";
System.out.println("query=="+query);
//new jdbc connection;
conn=getNewConnection();
conn.setAutoCommit(false);
pst = conn.prepareStatement(query);
pst.setLong(1, 3001);
//Le run reste bloqué ici à cause du 'FOR UPDATE'!!!!
rs = pst.executeQuery();
while (rs.next())
{
String s = rs.getString("HostName");
long oid = rs.getLong("OID");
System.out.println("oid/host=="+oid+"/"+s);
}
}
catch (SQLException ex)
{
ex.printStackTrace();
}
finally
{
DBUtil.close(pst);
DBUtil.close(rs);
DBUtil.close(conn);
}
}
private void doSelectTest()
{
System.out.println("[OUTPUT FROM SELECT]");
String query = "Select * from b2bicheckpoint where OID = ?";
System.out.println("query=="+query);
PreparedStatement pst = null;
ResultSet rs=null;
Connection conn=null;
try
{
conn=getNewConnection();
conn.setAutoCommit(false);
pst = conn.prepareStatement(query);
pst.setLong(1, 3001);
rs = pst.executeQuery();
while (rs.next())
{
String s = rs.getString("HostName");
long oid = rs.getLong("OID");
System.out.println("oid/host=="+oid+"/"+s);
}
}
catch (SQLException ex)
{
ex.printStackTrace();
}
finally
{
DBUtil.close(pst);
DBUtil.close(rs);
DBUtil.close(conn);
}
} |
Partager