diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java index 81c16cf41..c39addd6a 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java @@ -1444,21 +1444,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } private Stream toStream(QueryIterator queryIterator) { - return stream(spliteratorUnknownSize(queryIterator, Spliterator.ORDERED), false) - .onClose(new QueryIteratorClose(queryIterator)); - } - - private static class QueryIteratorClose implements Runnable { - private final QueryIterator iterator; - - private QueryIteratorClose(QueryIterator iterator) { - this.iterator = iterator; - } - - @Override - public void run() { - iterator.close(); - } + return stream(spliteratorUnknownSize(queryIterator, Spliterator.ORDERED), false).onClose(queryIterator::close); } @Override diff --git a/ebean-core/src/test/java/org/tests/query/TestQueryFindStream.java b/ebean-core/src/test/java/org/tests/query/TestQueryFindStream.java index b05ada969..c4a852f38 100644 --- a/ebean-core/src/test/java/org/tests/query/TestQueryFindStream.java +++ b/ebean-core/src/test/java/org/tests/query/TestQueryFindStream.java @@ -39,9 +39,7 @@ public class TestQueryFindStream extends BaseTestCase { @Test public void findLargeStream_basic() { - ResetBasicData.reset(); - try (Stream stream = DB.find(Customer.class) .findLargeStream()) { @@ -61,8 +59,16 @@ public class TestQueryFindStream extends BaseTestCase { } @Test - public void manualTest_findSteam_when_streamNotClosed_connectionLeak() { + public void manualTest_findSteam_when_closeWithResources() { + // confirm manually the stream is closed via try with resources block + try (Stream stream = DB.find(Customer.class).findStream()) { + // silly assert + assertThat(stream.hashCode()).isNotZero(); + } + } + @Test + public void manualTest_findSteam_when_streamNotClosed_connectionLeak() { Stream stream = DB.find(Customer.class).findStream(); // remember a steam MUST be closed or we leak resources // comment out the close(); below to leak a connection