我从java代码调用过程:
private String processData(Integer time, String jndiName) {
CallableStatement cs = null;
Connection conn = null;
try {
InitialContext ctxt = new InitialContext();
DataSource ds = (DataSource) ctxt.lookup(jndiName);
conn = ds.getConnection();
cs = conn.prepareCall("{call PROC(?)}");
cs.setInt(1, time);
cs.execute();
} catch (Exception e) {
}
这个程序只是等待我设置为参数的X秒。
问题是:
当我使用参数time=30
调用此过程时,此java函数需要多长时间?
它会等待,直到这个程序结束,或者java只运行它并继续下一个命令?
答案 0 :(得分:1)
是的,它会等待,这是一个阻止操作。
答案 1 :(得分:1)
CS.execute是一个阻塞调用,等待数据库完成过程调用,然后才返回。