Как вернуть поток и закрыть источник подчеркивания?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как вернуть поток и закрыть источник подчеркивания?

Сообщение Anonymous »

Вот предыстория. У меня есть операция, которая может сканировать множество строк из hbase. Поскольку количество строк может быть огромным, я хочу вернуть поток строк. Вопрос: как закрыть ResultScanner?
Такой метод

Код: Выделить всё

    public  Stream getResultStream(String tableName,Scan scan, RowMapper mapper){
scan.setCaching(5000);//set number of rows to fetch for each rpc
Table table=this.getConnection().getTable(tableName);
ResultScanner scanner = table.getScanner(scan);
return StreamSupport.stream(scanner.spliterator(),false).map(mapper::mapRow);
// scanner.close(); where to close it ?
}
Очевидно, что я не могу закрыть ResultScanner в этом методе. Есть ли какой-нибудь элегантный способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/655 ... ine-source
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»