Composite AutoCloseable that closes registered resources in LIFO order.
More...
Public Member Functions | |
| void | close () |
| Closes all registered resources in LIFO order. | |
| boolean | isClosed () |
Returns true if close() has already been called. | |
Composite AutoCloseable that closes registered resources in LIFO order.
Resources are registered via register(AutoCloseable) and are closed in reverse registration order (last-in, first-out) when close() is called. If multiple resources throw during close, only the first exception is propagated; subsequent ones are attached as suppressed.
Calling close() more than once is a no-op after the first call.
var closer = new Closer();
var pool = closer.register(DataSourceFactory.create(config));
var cache = closer.register(new CacheManager());
try (closer) {
runApplication(pool, cache);
}
// cache closed first, then pool
Definition at line 54 of file Closer.java.
| void dev.rafex.ether.di.Closer.close | ( | ) |
Closes all registered resources in LIFO order.
Idempotent: subsequent calls after the first are no-ops.
| RuntimeException | wrapping the first exception thrown during close, with any subsequent exceptions attached as suppressed |
Definition at line 85 of file Closer.java.
| boolean dev.rafex.ether.di.Closer.isClosed | ( | ) |
Returns true if close() has already been called.
true after the first call to close() Definition at line 121 of file Closer.java.