That is tricky, since this wrapper is trying to mimic iterator behaviour. The intension was to wrap any IOExceptions in runtime exceptions (such as NoSuchElementException() ) in the event their are any IO problems, and help code that was previously based on in memory collections transition to streaming IO.
The FeatureReaderIterator method in question is here: * public boolean hasNext() {* * try {* * if (reader == null) return false;* * if (reader.hasNext()) {* * return true;* * } else {* * // auto close because we don't trust* * // client code to call closed :-)* * close();* * return false;* * }* * } catch (Exception e) {* * close();* * return false; // failure sounds like lack of next to me* * }* * }* Q: How does it do if you modify the catch( Exception e) block above to throw a runtime exception. I can kind of see why the default implementation does not take this approach. I tried going back in git / svn history but I cannot find an earlier implementation to use as a reference. This implementation looks very locked down and I cannot see a way around with it in place. You would need to modify the above code (which I would support) or introduce your own wrapper (override ContentDataStore superclass). -- Jody Garnett On Fri, 8 May 2020 at 14:58, Jim Hughes <jhug...@ccri.com> wrote: > Hi all, > > I'm digging into error handling around timeouts for a GeoTools DataStore > (the various GeoMesa DataStore implementations). In GeoServer, the > GeoMesa FeatureReader ends up being wrapped by the GeoTools > FeatureReaderIterator. > > This class swallows exceptions from close() and hasNext(). Are there > examples of getting Exceptions through this class? I tried a few > things, and stuck on how pass information (such as an exception > indicating that a query had a problem on the remote server or that the > query reached its timeout) through this class. > > Thoughts? > > Cheers, > > Jim > > 1. > > https://github.com/geotools/geotools/blob/master/modules/library/main/src/main/java/org/geotools/feature/FeatureReaderIterator.java > > > > _______________________________________________ > GeoTools-Devel mailing list > GeoTools-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geotools-devel >
_______________________________________________ GeoTools-Devel mailing list GeoTools-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel