我有这个一般的问题:连接池可以保持缓存一些“古老”的连接,并为另一个被称为服务?我知道它不知道怎么做,但它是否使用已经通过某个DataSource创建的连接对象,而我明确地将查找转换为该数据源到一个新的JNDI地址,并通过这个新查找创建了一个新连接(我希望使用该连接,那是) ?GlassFish中的连接,奇怪的行为?
是有点特殊,这里是我的步骤:
我已经创建了我的GlassFish服务器的连接,在JNDI给它一个名字,用在我的代码如下:
InitialContext ctx = new InitialContext();
//The JDBC Data source that we just created
DataSource ds = (DataSource) ctx.lookup("postgresJNDI");
Connection connection = ds.getConnection();
Statement st = connection.createStatement();
ResultSet rs = st.executeQuery("SELECT util_firm, util_name, previlege FROM utilisateur WHERE password = '" + password + "' AND pseudo = '" + pseudo + "' ") ;
问题是一旦请求被发送,我回去的警告,指出:
serverError: class javax.faces.el.EvaluationException the name of column utilfirm was not found in this ResultSet.
而且utilfirm甚至不是在我的要求,也不是对我的数据库为此事(但上一个一个我已经擦除的,一个通过其他JNDI地址访问的)。
我可能会补充一点,我已经注意到关闭了我使用的每个连接。
那么这是正常的吗?或者它是我的配置中的东西?
在此先感谢。