我想实现,查询超时。应用程序框架包括 Spring MVC和hibernate 。
如果我在会话工厂中指定超时。它给出了错误Timeout 未在Postgresql驱动程序中实现。
我正在使用postgres 8.4
代码是:
@Override
@Transactional(timeout=20)
public List<MasterBooking> searchMasterBookings(---){//some more code}
错误堆栈跟踪是:
SQL state [0A000]; error code [0];Method org.postgresql.jdbc4.Jdbc4PreparedStatement.setQueryTimeout(int) is not yet implemented.; nested exception is org.postgresql.util.PSQLException: Method org.postgresql.jdbc4.Jdbc4PreparedStatement.setQueryTimeout(int) is not yet implemented.
我该如何实现?
答案 0 :(得分:1)
postgres驱动程序未实现此方法,有关详细信息,另请参阅http://archives.postgresql.org/pgsql-bugs/2008-04/msg00161.php。 TODO列表中有解决方案请求。
使用连接池,例如C3P0可以帮助您以更好的方式实现受控超时行为。