我们有一个名为AQS的应用程序,需要从WAS 7迁移到WAS 8.5。
我在代码中定义了这个JNDI,
private static final String JNDI_NAME_AQSSERVICE = "java:comp/env/jdbc/aqsservice/AQS";
我们的WAS 8.5管理控制台中也定义了相同的JNDI URL,并且测试连接成功。
以下是我们用于打开数据库连接的方法:
public Connection getAQSDBConnection() throws ConnectionManagerException
{
try
{
Connection con = DataSourceManager.getConnection(JNDI_NAME_AQSSERVICE);
if(log.isEnabledFor(Priority.INFO))
log.info("DB Connection retrieved in ConnectionManager.getAQSDBConnection()");
if (con != null)
con.setAutoCommit(false); // turn auto-commit OFF
return con;
}
catch (Exception e)
{
System.out.println("Exception while retrieving DB Connection in ConnectionManager.getAQSDBConnection() is :" + e);
throw new ConnectionManagerException("ConnectionManager.getDBConnection(): Exception occurred while opening database connection.", e);
}
}
当尝试通过我们的代码打开数据库连接时,我们得到运行时异常,如下所示:
[4/24/18 11:25:45:298 CDT] 00000070 SystemOut O Exception while retrieving DB Connection in ConnectionManager.getAQSDBConnection() is :javax.naming.ConfigurationException: Malformed provider URL ""
我们已经仔细检查了JNDI URL在Code和WAS 8.5管理控制台中是否相同,但在打开连接时它是空白的。相同的代码在WAS 7环境中工作。
有人可以帮忙吗?