private void reportException(Exception e) { if (e instanceof ConverterAccessException) { failureCallback.onFailure(converter); } }
@Override public void onFailure(IConverter converter) { if (converters.remove(converter)) { try { converter.shutDown(); } catch (RuntimeException exception) { LOGGER.error("Could not shut down {}", converter, exception); } finally { converterFailureCallback.onFailure(converter); } } }
@Override public void run() { for (IConverter converter : converters) { if (!converter.isOperational()) { if (converters.remove(converter)) { try { converter.shutDown(); } catch (RuntimeException e) { LOGGER.warn("Could not shut down {} during deregistration", converter, e); } finally { converterFailureCallback.onFailure(converter); } } } } }