2015-12-11 2 views
2

Я использую Apache Jena 2.12.0 для запроса конечной точки SPARQL. Я хочу закрыть объект QueryEngineHTTP после использования, но следующий код приведет к неприемлемому ResultSet, поскольку он закрывается вместе с QueryEngineHTTP. Есть ли способ закрыть один, но не другой?Закрытие Jena QueryEngineHTTP без закрытия ResultSet

public ResultSet select(String query) 
{ 
    try(QueryEngineHTTP qe = new QueryEngineHTTP(ENDPOINT, query)) 
{ 
     return qe.execSelect(); 
} catch(Exception e) {throw new RuntimeException("Error on query:\n"+query,e);} 
} 

ответ

2

, если вы хотите, чтобы отделить результаты от входящего потока, необходимо создать набор результатов не движимый поступающих данных - то есть взять копию.

ResultSetFactory.copyResults сделаю это за вас. Этот результирующий набор является перемотируемым.

Смежные вопросы