1

Weblogic 10.3.5 に存在するデータ ソースで JNDI ルックアップを実行しようとしています。

次のコードがあります。

    try {
    //jbInit();

    env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    env.put(javax.naming.Context.PROVIDER_URL,"t3://localhost:7001");

    try {
        Context ctx = new InitialContext(env);
        javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("jdbc/sandboxDS");
        conn = ds.getConnection();
    } catch(Exception e){
        e.printStackTrace();
    }

    if(conn != null){
        System.out.println("Got connection...");

        String colDescQuery =
        "select column1 from my_table where table_name = 'your_table' order by col_order_no";
        Statement colDescStmt = conn.createStatement();
        ResultSet colDescRS = colDescStmt.executeQuery(colDescQuery);

        while (colDescRS.next()) {
        System.out.println(colDescRS.getString(1));
        }                 

    } else {
        System.out.println("No connection...");
    }
} catch (Exception e) {
    e.printStackTrace();
}

このコードをスタンドアロンの Java プログラムとして実行すると、完全に機能します。接続が見つかり、クエリは期待される結果を返します。

アプレットで同じコードを使用し、JDeveloper アプレット ビューアから実行すると、InitialContext がインスタンス化された場所でハングします。例外はスローされず、単にハングして戻りません。

ここで何が起こっているかについてのアイデアはありますか? 両方の実行のクラスパスに weblogic.jar と wlthint3client.jar があります。

ありがとう...

4

1 に答える 1

0

アプレットにはサンドボックスの制限があるため、ダウンロード元以外のサーバーに接続することはできません。

アプレットが、JNDIデータソースが存在するのと同じWebLogicServerにもデプロイされていることを確認してください。

于 2012-12-12T19:04:05.867 に答える