Class MicrometerRoutePolicyFactory

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyFactory
All Implemented Interfaces:
AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.NonManagedService, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasCamelContext, org.apache.camel.spi.RoutePolicyFactory, org.apache.camel.StatefulService, org.apache.camel.StaticService, org.apache.camel.SuspendableService

public class MicrometerRoutePolicyFactory extends org.apache.camel.support.service.ServiceSupport implements org.apache.camel.spi.RoutePolicyFactory, org.apache.camel.CamelContextAware, org.apache.camel.NonManagedService, org.apache.camel.StaticService
A RoutePolicyFactory to plugin and use metrics for gathering route utilization statistics
  • Constructor Details

    • MicrometerRoutePolicyFactory

      public MicrometerRoutePolicyFactory()
  • Method Details

    • getCamelContext

      public org.apache.camel.CamelContext getCamelContext()
      Specified by:
      getCamelContext in interface org.apache.camel.spi.HasCamelContext
    • setCamelContext

      public void setCamelContext(org.apache.camel.CamelContext camelContext)
      Specified by:
      setCamelContext in interface org.apache.camel.CamelContextAware
    • setMeterRegistry

      public void setMeterRegistry(io.micrometer.core.instrument.MeterRegistry meterRegistry)
      To use a specific MeterRegistry instance.

      If no instance has been configured, then Camel will create a shared instance to be used.

    • getMeterRegistry

      public io.micrometer.core.instrument.MeterRegistry getMeterRegistry()
    • isPrettyPrint

      public boolean isPrettyPrint()
    • setPrettyPrint

      public void setPrettyPrint(boolean prettyPrint)
      Whether to use pretty print when outputting JSon
    • getDurationUnit

      public TimeUnit getDurationUnit()
      Sets the time unit to use for requests per unit (eg requests per second)
    • setDurationUnit

      public void setDurationUnit(TimeUnit durationUnit)
      Sets the time unit to use for timing the duration of processing a message in the route
    • getNamingStrategy

      public MicrometerRoutePolicyNamingStrategy getNamingStrategy()
    • setNamingStrategy

      public void setNamingStrategy(MicrometerRoutePolicyNamingStrategy namingStrategy)
    • getPolicyConfiguration

      public MicrometerRoutePolicyConfiguration getPolicyConfiguration()
    • setPolicyConfiguration

      public void setPolicyConfiguration(MicrometerRoutePolicyConfiguration policyConfiguration)
    • createOrGetContextMetric

      public RouteMetric createOrGetContextMetric(MicrometerRoutePolicy policy)
    • createRoutePolicy

      public org.apache.camel.spi.RoutePolicy createRoutePolicy(org.apache.camel.CamelContext camelContext, String routeId, org.apache.camel.NamedNode routeDefinition)
      Specified by:
      createRoutePolicy in interface org.apache.camel.spi.RoutePolicyFactory
    • doShutdown

      protected void doShutdown() throws Exception
      Overrides:
      doShutdown in class org.apache.camel.support.service.BaseService
      Throws:
      Exception