我有以下代码:
Hashtable env1 = new Hashtable();
env1.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
log.info("Executed step 1");
env1.put(javax.naming.Context.PROVIDER_URL, "iiop://myhost.com:9301");
log.info("Executed step 2");
Context ctx = new InitialContext(env1);
DataSource ds = (DataSource)ctx.lookup("jdbc/mydatasource");
log.info("Excecuted lookup ="+ds);
conn = ds.getConnection();
我在连接到WAS 6.1.0.3的独立应用程序中具有先前的代码,以便从数据源检索连接.该代码非常直观,而且我看到相同的代码在不同的环境中工作,但是在这种情况下,当我调用getConnection时会得到一个异常.数据源是WAS,并且已设置了正确的身份验证别名,并且在测试连接时,它在WAS方面可以正常运行,但是先前的代码将不起作用.
如果更改此行:conn = ds.getConnection();
为此:conn = ds.getConnection(“ username”,“ password”);
然后代码将起作用!但这不是我想要的,因为数据源中的连接应该已经设置了凭据.最初我以为这是