AbstractProxyConnection implements Connection { public void abort(Executor executor) throws SQLException { JdbcMethodUtils.invokeJdbcMethod(Connection.class,"abort",new Class<?>[]{Executor.class},getPhysicalOrRandomConnection(),new Object[]{executor}); } AbstractProxyConnection();  AbstractProxyConnection(String username, String password); @Override CallableStatement prepareCall(String sql); @Override void setAutoCommit(boolean autoCommit); @Override void commit(); @Override void rollback(); @Override void setTransactionIsolation(int level); @Override CallableStatement prepareCall(String sql, int resultSetType,int resultSetConcurrency); @Override Savepoint setSavepoint(); @Override Savepoint setSavepoint(String name); @Override void rollback(Savepoint savepoint); @Override void releaseSavepoint(Savepoint savepoint); @Override Statement createStatement(); @Override Statement createStatement(int resultSetType,int resultSetConcurrency, int resultSetHoldability); @Override Statement createStatement(int resultSetType, int resultSetConcurrency); @Override CallableStatement prepareCall(String sql, int resultSetType,int resultSetConcurrency, int resultSetHoldability); @Override PreparedStatement prepareStatement(String sql); @Override PreparedStatement prepareStatement(String sql, int resultSetType,int resultSetConcurrency); @Override PreparedStatement prepareStatement(String sql, int resultSetType,int resultSetConcurrency, int resultSetHoldability); @Override PreparedStatement prepareStatement(String sql, int autoGeneratedKeys); @Override PreparedStatement prepareStatement(String sql, int[] columnIndexes); @Override PreparedStatement prepareStatement(String sql, String[] columnNames); @Override void setReadOnly(boolean readOnly); @Override void setCatalog(String catalog); @Override void setTypeMap(Map<String, Class<?>> map); @Override void setHoldability(int holdability); @Override void setClientInfo(String name, String value); @Override void setClientInfo(Properties properties); @Override Clob createClob(); @Override Blob createBlob(); @Override NClob createNClob(); @Override SQLXML createSQLXML(); @Override Array createArrayOf(String typeName, Object[] elements); @Override Struct createStruct(String typeName, Object[] attributes); void setSchema(String schema); void setNetworkTimeout(Executor executor, int milliseconds); @Override T unwrap(Class<T> iface); @Override boolean isWrapperFor(Class<?> iface); @Override String nativeSQL(String sql); @Override boolean getAutoCommit(); @Override DatabaseMetaData getMetaData(); @Override void close(); @Override boolean isClosed(); @Override boolean isReadOnly(); @Override String getCatalog(); @Override int getTransactionIsolation(); @Override SQLWarning getWarnings(); @Override void clearWarnings(); @Override Map<String, Class<?>> getTypeMap(); @Override int getHoldability(); @Override boolean isValid(int timeout); @Override String getClientInfo(String name); @Override Properties getClientInfo(); String getSchema(); void abort(Executor executor); int getNetworkTimeout();  }
@Test public void testAbort() throws Exception { final int[] count=new int[2]; AbstractProxyConnection proxyConnection=this.createProxyConnectionForRandomAllowed(count, "abort",null); proxyConnection.abort(null); assertTrue(count[0]==1 && count[1]==1); }