我试图对 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 用于两次运行。
谢谢...