【问题标题】:Connection within GlassFish, weird behavior?GlassFish 中的连接,奇怪的行为?
【发布时间】:2013-05-07 15:17:52
【问题描述】:

我有一个一般性的问题:连接池是否可以在缓存中保留一些“古老的”连接并在调用另一个连接时为其提供服务?我知道它以某种方式确实如此,但是它是否使用已经通过某个数据源创建的连接对象,而我明确地将对该数据源的查找更改为新的 JNDI 地址,并通过这个新查找创建了一个新连接(我希望使用它,那是)?

具体来说,这是我的步骤:

我在我的 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 地址访问的...)。

我可能会补充一点,我已经关闭了我使用的每个连接。

这正常吗?还是我的配置中有什么?

提前致谢。

【问题讨论】:

    标签: jsf glassfish connection-pooling managed-bean postgresql-9.0


    【解决方案1】:

    正如预期的那样,使用连接池的 bean 实际上(出于某种神秘的原因)持有一些旧 JNDI 的名称,因此没有考虑代码中指定的新名称。因此,我只是继续创建了一个新 bean 并使用它,现在一切正常。

    我仍然对与该主题相关的任何文档感兴趣。

    祝你早日/晚安愉快!

    【讨论】:

      猜你喜欢
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多