public interface Component extends Closeable
Components are lazy with regards to I/O. They can be injected directly to other components so as to avoid crashing the application graph if a network service is unavailable.
| Modifier and Type | Interface and Description |
|---|---|
static class |
Component.CheckResult |
| Modifier and Type | Method and Description |
|---|---|
Component.CheckResult |
check()
Answers the question: Are operations on this component likely to succeed?
|
void |
close()
Closes any network resources created implicitly by the component.
|
Component.CheckResult check()
Implementations should initialize the component if necessary. It should test a remote connection, or consult a trusted source to derive the result. They should use least resources possible to establish a meaningful result, and be safe to call many times, even concurrently.
Component.CheckResult.OKvoid close()
throws IOException
For example, if this created a connection, it would close it. If it was provided one, this would close any sessions, but leave the connection open.
close in interface AutoCloseableclose in interface CloseableIOExceptionCopyright © 2015–2018 OpenZipkin. All rights reserved.