private void closeCursors() { if (cursorList != null && cursorList.size() != 0) { for (Cursor<?> cursor : cursorList) { try { cursor.close(); } catch (IOException e) { throw ExceptionFactory.wrapException("Error closing cursor. Cause: " + e, e); } } cursorList.clear(); } }
@Override public @Nonnull Iterator<T> iterator() { return cursor.iterator(); } }
@Override public int getCurrentIndex() { return cursor.getCurrentIndex(); }
@Override public boolean isOpen() { return cursor.isOpen(); }
@Override public boolean isConsumed() { return cursor.isConsumed(); }
@Override public void doOpen() throws Exception { if (!DataSourceHolder.haveValue()) { DataSourceHolder.setSlave(); isSet.set(true); logger.debug("Cursor's reading choose slave"); } Map<String, Object> parameters = new HashMap<String, Object>(); if (parameterValues != null) { parameters.putAll(parameterValues); } sqlSession = sqlSessionFactory.openSession(ExecutorType.SIMPLE); cursor = sqlSession.selectCursor(queryId, parameters); cursorIterator = cursor.iterator(); }
private void closeCursors() { if (cursorList != null && cursorList.size() != 0) { for (Cursor<?> cursor : cursorList) { try { cursor.close(); } catch (IOException e) { throw ExceptionFactory.wrapException("Error closing cursor. Cause: " + e, e); } } cursorList.clear(); } }
@Override public void close() throws IOException { cursor.close(); }
@Override public void doClose() throws Exception { cursor.close(); sqlSession.close(); cursorIterator = null; if (isSet.get() != null) { DataSourceHolder.clearDataSource(); logger.debug("Cursor read's threadlocal have been clean up"); } }