web服务器 weblogic
数据库: oracle816
在weblogic配置好了connection pool 和datasource 在程序中调用的时候抛出如下异常:java.sql.SQLException: Pool connect failed : java.lang.SecurityException: [Secur
ity:090398]Invalid Subject: principals=[system]
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(
JDBCUtil.java:160)
at weblogic.jdbc.pool.Driver.connect(Driver.java:156)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:444)
at weblogic.jdbc.jts.Driver.connect(Driver.java:138)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:305)
at com.hhzskj.dzsb.db.ConnectionFactory.getConnection(ConnectionFactory.
java:86)连接池的程序如下:
××××××××××××××××××××××××××××××××××××××××
private static void getInitContext()throws NamingException{
Hashtable ht = new Hashtable();
if(factorySingleton == null){
factorySingleton = new ConnectionFactory();
}
ht.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
ht.put("java.naming.provider.url",rdp.getUrl());
if(rdp.getUser() != null){
ht.put("java.naming.security.principal",rdp.getUser());
ht.put("java.naming.security.credentials",rdp.getPwd());
}
initCtx = new InitialContext(ht);
}
/**
*
* @return Connection
* @throws NamingException
* @throws SQLException
*/
public static Connection getConnection()throws NamingException, SQLException{
if(dataSource == null){
getInitContext();
Object obj = initCtx.lookup(rdp.getDataSource());
dataSource = (DataSource)PortableRemoteObject.narrow( obj, getClass("javax.sql.DataSource"));
}
return dataSource.getConnection();
}
××××××××××××××××××××××××××××××××××××××××如果改为直接连接的话就不会出现上面的情况。 希望高手来解决。3ks
数据库: oracle816
在weblogic配置好了connection pool 和datasource 在程序中调用的时候抛出如下异常:java.sql.SQLException: Pool connect failed : java.lang.SecurityException: [Secur
ity:090398]Invalid Subject: principals=[system]
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(
JDBCUtil.java:160)
at weblogic.jdbc.pool.Driver.connect(Driver.java:156)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:444)
at weblogic.jdbc.jts.Driver.connect(Driver.java:138)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:305)
at com.hhzskj.dzsb.db.ConnectionFactory.getConnection(ConnectionFactory.
java:86)连接池的程序如下:
××××××××××××××××××××××××××××××××××××××××
private static void getInitContext()throws NamingException{
Hashtable ht = new Hashtable();
if(factorySingleton == null){
factorySingleton = new ConnectionFactory();
}
ht.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
ht.put("java.naming.provider.url",rdp.getUrl());
if(rdp.getUser() != null){
ht.put("java.naming.security.principal",rdp.getUser());
ht.put("java.naming.security.credentials",rdp.getPwd());
}
initCtx = new InitialContext(ht);
}
/**
*
* @return Connection
* @throws NamingException
* @throws SQLException
*/
public static Connection getConnection()throws NamingException, SQLException{
if(dataSource == null){
getInitContext();
Object obj = initCtx.lookup(rdp.getDataSource());
dataSource = (DataSource)PortableRemoteObject.narrow( obj, getClass("javax.sql.DataSource"));
}
return dataSource.getConnection();
}
××××××××××××××××××××××××××××××××××××××××如果改为直接连接的话就不会出现上面的情况。 希望高手来解决。3ks
解决方案 »
- hibernate 映射问题(@OneToMany and @ManyToOne)
- struts2 标签 combobox
- 高手来帮我来看一下我的代码问题在哪里!
- 关于<frameset>框架顶部菜单控制底部页面跳转问题?
- [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.???
- 使用ireport做报表,如何在一个报表里同时应用多个SQl语句?就剩下50分了!
- 快,给我这个的报价,一会上班经理就要了,公司就我一个JSP的
- JAVA如何精确控制速度!大神们请指点~
- 用java或者jsp,如何将文件从一个目录移动到另外一个目录的方法?
- password
- 请教tomcat下如何将war文件配置成网站根目录运行?
- 跪求jspsmart源代码
Hashtable ht = new Hashtable();
if(factorySingleton == null){
factorySingleton = new ConnectionFactory();
}
ht.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
ht.put("java.naming.provider.url",rdp.getUrl());
if(rdp.getUser() != null){
ht.put("java.naming.security.principal",rdp.getUser());
ht.put("java.naming.security.credentials",rdp.getPwd());
}
initCtx = new InitialContext(ht);//如果不改的话,initCtx的作用域设置是否有问题
return initCtx;
}
/**
*
* @return Connection
* @throws NamingException
* @throws SQLException
*/
public static Connection getConnection()throws NamingException, SQLException{
if(dataSource == null){
getInitContext();
Object obj = initCtx.lookup(rdp.getDataSource());
dataSource = (DataSource)PortableRemoteObject.narrow( obj, getClass("javax.sql.DataSource"));
}
return dataSource.getConnection();
}
ht.put("java.naming.provider.url",rdp.getUrl());
if(rdp.getUser() != null){
ht.put("java.naming.security.principal",rdp.getUser());
ht.put("java.naming.security.credentials",rdp.getPwd());
}改为
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,rdp.getUrl());
if(rdp.getUser() != null){
ht.put(Context.SECURITY_PRINCIPAL,rdp.getUser());
ht.put(Context.SECURITY_CREDENTIALS,rdp.getPwd());
}
private static String PROVIDER_URL="t3://localhost:7001";
private static String JNDI_NAME="oracleds";
private static DataSource mDefaultDsOracle=null;
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,INITIAL_CONTEXT_FACTORY);
ht.put(Context.PROVIDER_URL,PROVIDER_URL);
try
{
ctx = new InitialContext(ht);
mDefaultDsOracle=(javax.sql.DataSource)ctx.lookup (OracleDataSource.JNDI_NAME);
}
finally{
try
{
ctx.close();
}
catch(Exception e)
{
}
}