0

我从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 秒。

问题是:

当我用参数调用这个过程时,这个java函数需要多长时间time=30
它会等到这个过程结束还是java会运行它并继续下一个命令?

4

2 回答 2

1

是的,它会等待,这是一个阻塞操作。

于 2012-08-16T10:45:04.253 回答
1

CS.execute 是一个阻塞调用,等待数据库完成过程调用然后才返回。

于 2012-08-16T10:45:21.903 回答