Ich schrieb die folgende Methode als onClick-Handler. Erster und zweiter Klick, ich habe Ergebnis von DB bekommen. Zum dritten Mal stoppte der Code in der Zeile "getFeatures (trgtFilter)" und kehrte nicht zurück. Im Debug-Modus habe ich gesehen, dass es auf die DB-Verbindung wartet. Kann mir jemand sagen, was ich falsch gemacht habe? Ich verwende GeoTools 15 und Oracle 12.GeoTools getFeatures dauert für immer
private Geometry getNewGeometry(String refID) throws Exception {
if (trgLayer != null) {
Connection con = null;
OracleConnection oraCon=null;
FeatureIterator<SimpleFeature> itr = null;
try {
con = ((JDBCDataStore) srcLayer.getFeatureSource().getDataStore()).getConnection(Transaction.AUTO_COMMIT);
oraCon = (OracleConnection) new DelegatingConnection(con).getInnermostDelegate();
Filter trgtFilter = editTask.getConfiguration().getReferenceFilter(trgLayer, refID);
FeatureCollection fc = trgLayer.getFeatureSource().getFeatures(trgtFilter);
itr = fc.features();
if (!itr.hasNext())
return null;
...
} catch (Exception e) {
throw e;
} finally {
if (itr != null)
itr.close();
if (oraCon != null) {
try {
oraCon.close();
if (con != null && !con.isClosed())
con.close();
} catch (SQLException e) {
LOGGER.error("", e);
}
}
}
}
}