Class RouteDefinition

  • All Implemented Interfaces:
    org.apache.camel.CamelContextAware, org.apache.camel.LineNumberAware, Block, OutputNode, PreconditionContainer, org.apache.camel.NamedNode, org.apache.camel.NamedRoute, org.apache.camel.spi.HasId, org.apache.camel.spi.IdAware, org.apache.camel.spi.ResourceAware

    @Metadata(label="configuration")
    public class RouteDefinition
    extends OutputDefinition<RouteDefinition>
    implements org.apache.camel.NamedRoute, PreconditionContainer, org.apache.camel.spi.ResourceAware
    A Camel route
    • Constructor Detail

      • RouteDefinition

        public RouteDefinition()
      • RouteDefinition

        public RouteDefinition​(@AsEndpointUri
                               String uri)
      • RouteDefinition

        public RouteDefinition​(org.apache.camel.Endpoint endpoint)
    • Method Detail

      • fromRest

        public void fromRest​(@AsEndpointUri
                             String uri)
        This route is created from the REST DSL.
      • markPrepared

        public void markPrepared()
        Marks the route definition as prepared.

        This is needed if routes have been created by components such as camel-spring-xml or camel-blueprint. Usually they share logic in the camel-core-xml module which prepares the routes.

      • markUnprepared

        public void markUnprepared()
        Marks the route definition as un-prepared.
      • resetPrepare

        public void resetPrepare()
        Reset internal state before preparing route
      • getRouteId

        public String getRouteId()
        Specified by:
        getRouteId in interface org.apache.camel.NamedRoute
      • getEndpointUrl

        public String getEndpointUrl()
        Specified by:
        getEndpointUrl in interface org.apache.camel.NamedRoute
      • from

        public RouteDefinition from​(@AsEndpointUri
                                    String uri)
        Creates an input to the route
        Parameters:
        uri - the from uri
        Returns:
        the builder
      • from

        public RouteDefinition from​(org.apache.camel.Endpoint endpoint)
        Creates an input to the route
        Parameters:
        endpoint - the from endpoint
        Returns:
        the builder
      • routeConfigurationId

        public RouteDefinition routeConfigurationId​(String routeConfigurationId)
        The route configuration id or pattern this route should use for configuration. Multiple id/pattern can be separated by comma.
        Parameters:
        routeConfigurationId - id or pattern
        Returns:
        the builder
      • group

        public RouteDefinition group​(String name)
        Set the group name for this route
        Parameters:
        name - the group name
        Returns:
        the builder
      • noStreamCaching

        public RouteDefinition noStreamCaching()
        Disable stream caching for this route.
        Returns:
        the builder
      • streamCaching

        public RouteDefinition streamCaching()
        Enable stream caching for this route.
        Returns:
        the builder
      • streamCaching

        public RouteDefinition streamCaching​(String streamCache)
        Enable stream caching for this route.
        Parameters:
        streamCache - whether to use stream caching (true or false), the value can be a property placeholder
        Returns:
        the builder
      • noTracing

        public RouteDefinition noTracing()
        Disable tracing for this route.
        Returns:
        the builder
      • tracing

        public RouteDefinition tracing()
        Enable tracing for this route.
        Returns:
        the builder
      • tracing

        public RouteDefinition tracing​(String tracing)
        Enable tracing for this route.
        Parameters:
        tracing - whether to use tracing (true or false), the value can be a property placeholder
        Returns:
        the builder
      • messageHistory

        public RouteDefinition messageHistory()
        Enable message history for this route.
        Returns:
        the builder
      • messageHistory

        public RouteDefinition messageHistory​(String messageHistory)
        Enable message history for this route.
        Parameters:
        messageHistory - whether to use message history (true or false), the value can be a property placeholder
        Returns:
        the builder
      • logMask

        public RouteDefinition logMask()
        Enable security mask for Logging on this route.
        Returns:
        the builder
      • logMask

        public RouteDefinition logMask​(String logMask)
        Sets whether security mask for logging is enabled on this route.
        Parameters:
        logMask - whether to enable security mask for Logging (true or false), the value can be a property placeholder
        Returns:
        the builder
      • noMessageHistory

        public RouteDefinition noMessageHistory()
        Disable message history for this route.
        Returns:
        the builder
      • noDelayer

        public RouteDefinition noDelayer()
        Disable delayer for this route.
        Returns:
        the builder
      • delayer

        public RouteDefinition delayer​(long delay)
        Enable delayer for this route.
        Parameters:
        delay - delay in millis
        Returns:
        the builder
      • errorHandler

        public RouteDefinition errorHandler​(String ref)
        Installs the given error handler builder.
        Parameters:
        ref - reference to existing error handler
        Returns:
        the current builder with the error handler configured
      • errorHandler

        public RouteDefinition errorHandler​(org.apache.camel.ErrorHandlerFactory errorHandlerBuilder)
        Installs the given error handler builder.
        Parameters:
        errorHandlerBuilder - the error handler to be used by default for all child routes
        Returns:
        the current builder with the error handler configured
      • noAutoStartup

        public RouteDefinition noAutoStartup()
        Disables this route from being auto started when Camel starts.
        Returns:
        the builder
      • autoStartup

        public RouteDefinition autoStartup​(String autoStartup)
        Sets the auto startup property on this route.
        Parameters:
        autoStartup - whether to auto startup (true or false), the value can be a property placeholder
        Returns:
        the builder
      • autoStartup

        public RouteDefinition autoStartup​(boolean autoStartup)
        Sets the auto startup property on this route.
        Parameters:
        autoStartup - - boolean indicator
        Returns:
        the builder
      • precondition

        public RouteDefinition precondition​(String precondition)
        Sets the predicate of the precondition in simple language to evaluate in order to determine if this route should be included or not.
        Parameters:
        precondition - the predicate corresponding to the test to evaluate.
        Returns:
        the builder
      • startupOrder

        public RouteDefinition startupOrder​(int order)
        Configures the startup order for this route

        Camel will reorder routes and star them ordered by 0..N where 0 is the lowest number and N the highest number. Camel will stop routes in reverse order when its stopping.

        Overrides:
        startupOrder in class ProcessorDefinition<RouteDefinition>
        Parameters:
        order - the order represented as a number
        Returns:
        the builder
      • routePolicy

        public RouteDefinition routePolicy​(org.apache.camel.spi.RoutePolicy... policies)
        Configures route policies for this route
        Parameters:
        policies - the route policies
        Returns:
        the builder
      • routePolicy

        public RouteDefinition routePolicy​(Supplier<org.apache.camel.spi.RoutePolicy> policy)
        Configures route policy for this route
        Parameters:
        policy - route policy
        Returns:
        the builder
      • routePolicyRef

        public RouteDefinition routePolicyRef​(String routePolicyRef)
        Configures a route policy for this route
        Parameters:
        routePolicyRef - reference to a RoutePolicy to lookup and use. You can specify multiple references by separating using comma.
        Returns:
        the builder
      • shutdownRoute

        public RouteDefinition shutdownRoute​(org.apache.camel.ShutdownRoute shutdownRoute)
        Configures a shutdown route option.
        Parameters:
        shutdownRoute - the option to use when shutting down this route
        Returns:
        the builder
      • shutdownRoute

        public RouteDefinition shutdownRoute​(String shutdownRoute)
        Configures a shutdown route option.
        Parameters:
        shutdownRoute - the option to use when shutting down this route
        Returns:
        the builder
      • shutdownRunningTask

        public RouteDefinition shutdownRunningTask​(org.apache.camel.ShutdownRunningTask shutdownRunningTask)
        Configures a shutdown running task option.
        Parameters:
        shutdownRunningTask - the option to use when shutting down and how to act upon running tasks.
        Returns:
        the builder
      • shutdownRunningTask

        public RouteDefinition shutdownRunningTask​(String shutdownRunningTask)
        Configures a shutdown running task option.
        Parameters:
        shutdownRunningTask - the option to use when shutting down and how to act upon running tasks.
        Returns:
        the builder
      • inputType

        public RouteDefinition inputType​(String urn)
        Declare the expected data type of the input message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. The type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example java:java.lang.String, json:ABCOrder.
        Parameters:
        urn - input type URN
        Returns:
        the builder
        See Also:
        Transformer
      • inputTypeWithValidate

        public RouteDefinition inputTypeWithValidate​(String urn)
        Declare the expected data type of the input message with content validation enabled. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists, and then applies Validator as well. The type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example java:java.lang.String, json:ABCOrder.
        Parameters:
        urn - input type URN
        Returns:
        the builder
        See Also:
        Transformer, Validator
      • inputType

        public RouteDefinition inputType​(Class clazz)
        Declare the expected data type of the input message by Java class. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists.
        Parameters:
        clazz - Class object of the input type
        Returns:
        the builder
        See Also:
        Transformer
      • inputTypeWithValidate

        public RouteDefinition inputTypeWithValidate​(Class clazz)
        Declare the expected data type of the input message by Java class with content validation enabled. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists, and then applies Validator as well.
        Parameters:
        clazz - Class object of the input type
        Returns:
        the builder
        See Also:
        Transformer, Validator
      • outputType

        public RouteDefinition outputType​(String urn)
        Declare the expected data type of the output message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. The type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example java:java.lang.String, json:ABCOrder.
        Parameters:
        urn - output type URN
        Returns:
        the builder
        See Also:
        Transformer
      • outputTypeWithValidate

        public RouteDefinition outputTypeWithValidate​(String urn)
        Declare the expected data type of the output message with content validation enabled. If the actual message type is different at runtime, Camel look for a required Transformer and apply if exists, and then applies Validator as well. The type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example java:java.lang.String, json:ABCOrder.
        Parameters:
        urn - output type URN
        Returns:
        the builder
        See Also:
        Transformer, Validator
      • outputType

        public RouteDefinition outputType​(Class clazz)
        Declare the expected data type of the output message by Java class. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists.
        Parameters:
        clazz - Class object of the output type
        Returns:
        the builder
        See Also:
        Transformer
      • outputTypeWithValidate

        public RouteDefinition outputTypeWithValidate​(Class clazz)
        Declare the expected data type of the ouput message by Java class with content validation enabled. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists, and then applies Validator as well.
        Parameters:
        clazz - Class object of the output type
        Returns:
        the builder
        See Also:
        Transformer, Validator
      • getTemplateParameters

        public Map<String,​Object> getTemplateParameters()
      • setTemplateParameters

        public void setTemplateParameters​(Map<String,​Object> templateParameters)
      • getRouteTemplateContext

        public org.apache.camel.RouteTemplateContext getRouteTemplateContext()
      • setRouteTemplateContext

        public void setRouteTemplateContext​(org.apache.camel.RouteTemplateContext routeTemplateContext)
      • getResource

        public org.apache.camel.spi.Resource getResource()
        Specified by:
        getResource in interface org.apache.camel.spi.ResourceAware
      • setResource

        public void setResource​(org.apache.camel.spi.Resource resource)
        Specified by:
        setResource in interface org.apache.camel.spi.ResourceAware
      • getInput

        public FromDefinition getInput()
        Specified by:
        getInput in interface org.apache.camel.NamedRoute
      • setInput

        public void setInput​(FromDefinition input)
        Input to the route.
      • getRouteConfigurationId

        public String getRouteConfigurationId()
        The route configuration id or pattern this route should use for configuration. Multiple id/pattern can be separated by comma.
      • setRouteConfigurationId

        public void setRouteConfigurationId​(String routeConfigurationId)
        The route configuration id or pattern this route should use for configuration. Multiple id/pattern can be separated by comma.
      • addAppliedRouteConfigurationId

        public void addAppliedRouteConfigurationId​(String routeConfigurationId)
        This is used internally by Camel to keep track which route configurations is applied when creating a route from this model. This method is not intended for Camel end users.
      • getAppliedRouteConfigurationIds

        public Set<String> getAppliedRouteConfigurationIds()
        This is used internally by Camel to keep track which route configurations is applied when creating a route from this model. This method is not intended for Camel end users.
      • getGroup

        public String getGroup()
        The group that this route belongs to; could be the name of the RouteBuilder class or be explicitly configured in the XML.

        May be null.

      • setGroup

        @Metadata(label="advanced")
        public void setGroup​(String group)
        The group that this route belongs to; could be the name of the RouteBuilder class or be explicitly configured in the XML.

        May be null.

      • getStreamCache

        public String getStreamCache()
        Whether stream caching is enabled on this route.
      • setStreamCache

        @Metadata(javaType="java.lang.Boolean")
        public void setStreamCache​(String streamCache)
        Whether stream caching is enabled on this route.
      • getTrace

        public String getTrace()
        Whether tracing is enabled on this route.
      • setTrace

        @Metadata(javaType="java.lang.Boolean")
        public void setTrace​(String trace)
        Whether tracing is enabled on this route.
      • getMessageHistory

        public String getMessageHistory()
        Whether message history is enabled on this route.
      • setMessageHistory

        @Metadata(label="advanced",
                  javaType="java.lang.Boolean",
                  defaultValue="true")
        public void setMessageHistory​(String messageHistory)
        Whether message history is enabled on this route.
      • getLogMask

        public String getLogMask()
        Whether security mask for Logging is enabled on this route.
      • setLogMask

        @Metadata(label="advanced",
                  javaType="java.lang.Boolean")
        public void setLogMask​(String logMask)
        Whether security mask for Logging is enabled on this route.
      • getDelayer

        public String getDelayer()
        Whether to slow down processing messages by a given delay in msec.
      • setDelayer

        @Metadata(label="advanced",
                  javaType="java.lang.Long")
        public void setDelayer​(String delayer)
        Whether to slow down processing messages by a given delay in msec.
      • getAutoStartup

        public String getAutoStartup()
        Whether to auto start this route
      • setAutoStartup

        @Metadata(javaType="java.lang.Boolean",
                  defaultValue="true")
        public void setAutoStartup​(String autoStartup)
        Whether to auto start this route
      • getPrecondition

        public String getPrecondition()
        The predicate of the precondition in simple language to evaluate in order to determine if this route should be included or not.
        Specified by:
        getPrecondition in interface PreconditionContainer
      • setPrecondition

        @Metadata(label="advanced")
        public void setPrecondition​(String precondition)
        The predicate of the precondition in simple language to evaluate in order to determine if this route should be included or not.
        Specified by:
        setPrecondition in interface PreconditionContainer
      • getStartupOrder

        public Integer getStartupOrder()
        To configure the ordering of the routes being started
      • setStartupOrder

        @Metadata(label="advanced",
                  javaType="java.lang.Integer")
        public void setStartupOrder​(Integer startupOrder)
        To configure the ordering of the routes being started
      • setErrorHandlerRef

        public void setErrorHandlerRef​(String errorHandlerRef)
        Sets the bean ref name of the error handler builder to use on this route
      • getErrorHandlerRef

        public String getErrorHandlerRef()
        Sets the bean ref name of the error handler builder to use on this route
      • setErrorHandlerFactoryIfNull

        public void setErrorHandlerFactoryIfNull​(org.apache.camel.ErrorHandlerFactory errorHandlerFactory)
        Sets the error handler if one is not already set
      • setRoutePolicyRef

        public void setRoutePolicyRef​(String routePolicyRef)
        Reference to custom RoutePolicy to use by the route. Multiple policies can be configured by separating values using comma.
      • getRoutePolicyRef

        public String getRoutePolicyRef()
        Reference to custom RoutePolicy to use by the route. Multiple policies can be configured by separating values using comma.
      • getRoutePolicies

        public List<org.apache.camel.spi.RoutePolicy> getRoutePolicies()
      • setRoutePolicies

        public void setRoutePolicies​(List<org.apache.camel.spi.RoutePolicy> routePolicies)
      • getShutdownRoute

        public String getShutdownRoute()
      • setShutdownRoute

        @Metadata(label="advanced",
                  javaType="org.apache.camel.ShutdownRoute",
                  defaultValue="Default",
                  enums="Default,Defer")
        public void setShutdownRoute​(String shutdownRoute)
        To control how to shutdown the route.
      • getShutdownRunningTask

        public String getShutdownRunningTask()
        To control how to shutdown the route.
      • setShutdownRunningTask

        @Metadata(label="advanced",
                  javaType="org.apache.camel.ShutdownRunningTask",
                  defaultValue="CompleteCurrentTaskOnly",
                  enums="CompleteCurrentTaskOnly,CompleteAllTasks")
        public void setShutdownRunningTask​(String shutdownRunningTask)
        To control how to shutdown the route.
      • getErrorHandlerFactory

        public org.apache.camel.ErrorHandlerFactory getErrorHandlerFactory()
      • setErrorHandlerFactory

        public void setErrorHandlerFactory​(org.apache.camel.ErrorHandlerFactory errorHandlerFactory)
        Sets the error handler to use with processors created by this builder
      • setRest

        public void setRest​(Boolean rest)
      • isRest

        @Metadata(label="advanced")
        public Boolean isRest()
      • setTemplate

        public void setTemplate​(Boolean template)
        This route is created from a route template.
      • isTemplate

        @Metadata(label="advanced")
        public Boolean isTemplate()
      • setRestDefinition

        public void setRestDefinition​(RestDefinition restDefinition)
      • setRestBindingDefinition

        public void setRestBindingDefinition​(RestBindingDefinition restBindingDefinition)
      • isContextScopedErrorHandler

        public boolean isContextScopedErrorHandler()
      • setInputType

        @Metadata(label="advanced")
        public void setInputType​(InputTypeDefinition inputType)
      • setOutputType

        @Metadata(label="advanced")
        public void setOutputType​(OutputTypeDefinition outputType)
      • setRouteProperties

        @Metadata(label="advanced")
        public void setRouteProperties​(List<PropertyDefinition> routeProperties)
        To set metadata as properties on the route.
      • fromEndpoint

        public static RouteDefinition fromEndpoint​(org.apache.camel.Endpoint endpoint)