有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

运行java程序时出现Hibernate异常无限运行

我有以下要求:

我希望我的java程序(CoreJava,而不是webapp)不停地连续运行,并检查数据库条目,如果有任何更改,则应向我发出警报。我使用定时器来完成这个任务,并使用hibernate来处理数据库。但是在几次成功的迭代之后,我得到了以下异常

org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1616)
at org.hibernate.loader.Loader.doQuery(Loader.java:717)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
at org.hibernate.loader.Loader.doList(Loader.java:2449)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2192)
at org.hibernate.loader.Loader.list(Loader.java:2187)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)

附言:我在代码中也使用了以下几行,但都不起作用

if (sess != null) {
        sess.clear(); // internal cache clear
    }

    Cache cache = factory.getCache();

    if (cache != null) {
        ( cache).evictCollectionRegions();
      // (cache).evictQueryRegions();
        (cache).evictDefaultQueryRegion();
        (cache).evictEntityRegions();
        // Evict data from all query regions.
    }

    sess.close();

有人能帮我吗?提前谢谢

*并且我没有使用连接池


共 (0) 个答案