0

我需要为我的应用程序获取程序化的 weblogic 数据源 (JNDI),我有自己的 Spring 占位符,此时没有创建 applicationcontext 我无法从上下文中获取数据源。

如何从 weblogic programmatic 中获取数据源?

4

1 回答 1

0

在你的 Java 代码中试试这个,

Hashtable ht = new Hashtable(); 
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://localhost:7004,localhost:7005"); //cluster URL, if datasource deployed on cluster 
try{
    envContext = new InitialContext(ht);   // InitialContext();  
    DataSource ds = (DataSource)envContext.lookup("jdbc/MyDataSource"); //if using Weblogic 12c, then remove `jdbc/` and just give the name of DataSource
    con = ds.getConnection();
    //.. use connection
    con.close();
}
catch(SQLException e)           
{e.printStackTrace();}

并更新您的 web.xml 文件resource-ref

<resource-ref>
    <description>DB Connection</description>
    <res-ref-name>MyDataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>
于 2014-04-04T06:58:36.937 回答