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

CS.execute はブロッキング コールであり、データベースがプロシージャ コールを完了するのを待ってから、戻るだけです。

于 2012-08-16T10:45:21.903 に答える
1

はい、待機します。これはブロッキング操作です。

于 2012-08-16T10:45:04.253 に答える