use of org.apache.camel.guice.support.Closer in project camel by apache.
the class Injectors method close.
/**
* Closes objects within the given scope using the currently registered
* {@link Closer} implementations
*/
public static void close(Injector injector, Class<? extends Annotation> scopeAnnotationToClose, CloseErrors errors) throws CloseFailedException {
Set<Closer> closers = getInstancesOf(injector, Closer.class);
Closer closer = CompositeCloser.newInstance(closers);
if (closer == null) {
return;
}
Set<Entry<Key<?>, Binding<?>>> entries = injector.getBindings().entrySet();
for (Entry<Key<?>, Binding<?>> entry : entries) {
Key<?> key = entry.getKey();
Binding<?> binding = entry.getValue();
closeBinding(key, binding, scopeAnnotationToClose, closer, errors);
}
tryCloseJitBindings(closer, injector, scopeAnnotationToClose, errors);
errors.throwIfNecessary();
}
Aggregations