我需要为我的应用程序获取程序化的 weblogic 数据源 (JNDI),我有自己的 Spring 占位符,此时没有创建 applicationcontext 我无法从上下文中获取数据源。
如何从 weblogic programmatic 中获取数据源?
我需要为我的应用程序获取程序化的 weblogic 数据源 (JNDI),我有自己的 Spring 占位符,此时没有创建 applicationcontext 我无法从上下文中获取数据源。
如何从 weblogic programmatic 中获取数据源?
在你的 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>