pub struct CamelContext { /* private fields */ }Expand description
Implementations§
Source§impl CamelContext
impl CamelContext
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new, empty CamelContext.
Runtime state is in-memory/ephemeral by default.
Sourcepub fn new_with_runtime_journal_path(path: impl Into<PathBuf>) -> Self
pub fn new_with_runtime_journal_path(path: impl Into<PathBuf>) -> Self
Create a new CamelContext with an explicit runtime journal file path.
This opt-in path enables local runtime replay/durability semantics.
Sourcepub fn with_metrics(metrics: Arc<dyn MetricsCollector>) -> Self
pub fn with_metrics(metrics: Arc<dyn MetricsCollector>) -> Self
Create a new CamelContext with a custom metrics collector.
Sourcepub fn with_metrics_and_runtime_journal_path(
metrics: Arc<dyn MetricsCollector>,
journal_path: impl Into<PathBuf>,
) -> Self
pub fn with_metrics_and_runtime_journal_path( metrics: Arc<dyn MetricsCollector>, journal_path: impl Into<PathBuf>, ) -> Self
Create a new CamelContext with custom metrics and explicit runtime journal file path.
Sourcepub fn with_supervision(config: SupervisionConfig) -> Self
pub fn with_supervision(config: SupervisionConfig) -> Self
Create a new CamelContext with route supervision enabled.
The supervision config controls automatic restart behavior for crashed routes.
Sourcepub fn with_supervision_and_metrics(
config: SupervisionConfig,
metrics: Arc<dyn MetricsCollector>,
) -> Self
pub fn with_supervision_and_metrics( config: SupervisionConfig, metrics: Arc<dyn MetricsCollector>, ) -> Self
Create a new CamelContext with route supervision and custom metrics.
The supervision config controls automatic restart behavior for crashed routes.
Sourcepub fn with_supervision_and_metrics_and_runtime_journal_path(
config: SupervisionConfig,
metrics: Arc<dyn MetricsCollector>,
journal_path: impl Into<PathBuf>,
) -> Self
pub fn with_supervision_and_metrics_and_runtime_journal_path( config: SupervisionConfig, metrics: Arc<dyn MetricsCollector>, journal_path: impl Into<PathBuf>, ) -> Self
Create a new CamelContext with supervision, custom metrics, and explicit journal path.
Sourcepub fn set_error_handler(&mut self, config: ErrorHandlerConfig)
pub fn set_error_handler(&mut self, config: ErrorHandlerConfig)
Set a global error handler applied to all routes without a per-route handler.
Sourcepub fn set_tracing(&mut self, enabled: bool)
pub fn set_tracing(&mut self, enabled: bool)
Enable or disable tracing globally.
Sourcepub fn set_tracer_config(&mut self, config: TracerConfig)
pub fn set_tracer_config(&mut self, config: TracerConfig)
Configure tracing with full config.
Sourcepub fn with_tracing(self) -> Self
pub fn with_tracing(self) -> Self
Builder-style: enable tracing with default config.
Sourcepub fn with_tracer_config(self, config: TracerConfig) -> Self
pub fn with_tracer_config(self, config: TracerConfig) -> Self
Builder-style: configure tracing with custom config. Note: tracing subscriber initialization (stdout/file output) is handled separately via init_tracing_subscriber (called in camel-config bridge).
Sourcepub fn with_lifecycle<L: Lifecycle + 'static>(self, service: L) -> Self
pub fn with_lifecycle<L: Lifecycle + 'static>(self, service: L) -> Self
Register a lifecycle service (Apache Camel: addService pattern)
Sourcepub fn register_component<C: Component + 'static>(&mut self, component: C)
pub fn register_component<C: Component + 'static>(&mut self, component: C)
Register a component with this context.
Sourcepub fn register_language(
&mut self,
name: impl Into<String>,
lang: Box<dyn Language>,
) -> Result<(), LanguageError>
pub fn register_language( &mut self, name: impl Into<String>, lang: Box<dyn Language>, ) -> Result<(), LanguageError>
Register a language with this context, keyed by name.
Returns Err(LanguageError::AlreadyRegistered) if a language with the
same name is already registered. Use resolve_language
to check before registering, or choose a distinct name.
Sourcepub fn resolve_language(&self, name: &str) -> Option<Arc<dyn Language>>
pub fn resolve_language(&self, name: &str) -> Option<Arc<dyn Language>>
Resolve a language by name. Returns None if not registered.
Sourcepub async fn add_route_definition(
&self,
definition: RouteDefinition,
) -> Result<(), CamelError>
pub async fn add_route_definition( &self, definition: RouteDefinition, ) -> Result<(), CamelError>
Add a route definition to this context.
The route must have an ID. Steps are resolved immediately using registered components.
Sourcepub fn registry(&self) -> MutexGuard<'_, Registry>
pub fn registry(&self) -> MutexGuard<'_, Registry>
Access the component registry.
Sourcepub fn runtime_execution_handle(&self) -> RuntimeExecutionHandle
pub fn runtime_execution_handle(&self) -> RuntimeExecutionHandle
Get runtime execution handle for file-watcher integrations.
Sourcepub fn metrics(&self) -> Arc<dyn MetricsCollector>
pub fn metrics(&self) -> Arc<dyn MetricsCollector>
Get the metrics collector.
Sourcepub fn runtime(&self) -> Arc<dyn RuntimeHandle>
pub fn runtime(&self) -> Arc<dyn RuntimeHandle>
Get runtime command/query bus handle.
Sourcepub fn producer_context(&self) -> ProducerContext
pub fn producer_context(&self) -> ProducerContext
Build a producer context wired to this runtime.
Sourcepub async fn runtime_route_status(
&self,
route_id: &str,
) -> Result<Option<String>, CamelError>
pub async fn runtime_route_status( &self, route_id: &str, ) -> Result<Option<String>, CamelError>
Query route status via runtime read-model.
Sourcepub async fn start(&mut self) -> Result<(), CamelError>
pub async fn start(&mut self) -> Result<(), CamelError>
Start all routes. Each route’s consumer will begin producing exchanges.
Only routes with auto_startup == true will be started, in order of their
startup_order (lower values start first).
Sourcepub async fn stop(&mut self) -> Result<(), CamelError>
pub async fn stop(&mut self) -> Result<(), CamelError>
Graceful shutdown with default 30-second timeout.
Sourcepub async fn stop_timeout(
&mut self,
_timeout: Duration,
) -> Result<(), CamelError>
pub async fn stop_timeout( &mut self, _timeout: Duration, ) -> Result<(), CamelError>
Graceful shutdown with custom timeout.
Note: The timeout parameter is currently not used directly; the RouteController manages its own shutdown timeout. This may change in a future version.
Sourcepub fn shutdown_timeout(&self) -> Duration
pub fn shutdown_timeout(&self) -> Duration
Get the graceful shutdown timeout used by stop().
Sourcepub fn set_shutdown_timeout(&mut self, timeout: Duration)
pub fn set_shutdown_timeout(&mut self, timeout: Duration)
Set the graceful shutdown timeout used by stop().
Sourcepub fn health_check(&self) -> HealthReport
pub fn health_check(&self) -> HealthReport
Check health status of all registered services.
Sourcepub fn set_component_config<T: 'static + Send + Sync>(&mut self, config: T)
pub fn set_component_config<T: 'static + Send + Sync>(&mut self, config: T)
Store a component config. Overwrites any previously stored config of the same type.