pub trait DatasourceCatalog: Send + Sync {
// Required methods
fn get_config(&self, name: &str) -> Option<DatasourceConfig>;
fn get_pool<'a>(&'a self, name: &'a str) -> GetPoolFuture<'a>;
fn register_factory(
&self,
kind: &str,
factory: Arc<dyn PoolFactory>,
) -> Result<(), CamelError>;
// Provided method
fn close_all(&self) -> CloseAllFuture<'_> { ... }
}Required Methods§
fn get_config(&self, name: &str) -> Option<DatasourceConfig>
fn get_pool<'a>(&'a self, name: &'a str) -> GetPoolFuture<'a>
fn register_factory( &self, kind: &str, factory: Arc<dyn PoolFactory>, ) -> Result<(), CamelError>
Provided Methods§
Sourcefn close_all(&self) -> CloseAllFuture<'_>
fn close_all(&self) -> CloseAllFuture<'_>
Close every initialized pool. The default is a no-op; the runtime catalog overrides it so a boot teardown deterministically drains its datasource connections (bd rc-25lup.4). Close MAY run again after a completed run; implementors keep it safe to re-run.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".