运行java程序的Hibernate异常无限运行

时间:2017-02-14 02:07:20

标签: java hibernate execution

我有以下要求:

我希望我的java程序(核心java,而不是webapp)不停地连续运行,并检查数据库条目,如果有任何更改,那么我应该发出警报。我正在使用Timer,并使用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)

P.s:我在代码中也使用了以下几行,但它没有用

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 个答案:

没有答案