Interface JmsEndpointBuilderFactory.JmsEndpointProducerBuilder

  • All Superinterfaces:
    org.apache.camel.builder.EndpointProducerBuilder, org.apache.camel.EndpointProducerResolver
    All Known Subinterfaces:
    JmsEndpointBuilderFactory.JmsEndpointBuilder
    Enclosing interface:
    JmsEndpointBuilderFactory

    public static interface JmsEndpointBuilderFactory.JmsEndpointProducerBuilder
    extends org.apache.camel.builder.EndpointProducerBuilder
    Builder for endpoint producers for the JMS component.
    • Method Detail

      • clientId

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder clientId​(String clientId)
        Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. The option is a: <code>java.lang.String</code> type. Group: common
        Parameters:
        clientId - the value to set
        Returns:
        the dsl builder
      • connectionFactory

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder connectionFactory​(javax.jms.ConnectionFactory connectionFactory)
        The connection factory to be use. A connection factory must be configured either on the component or endpoint. The option is a: <code>javax.jms.ConnectionFactory</code> type. Group: common
        Parameters:
        connectionFactory - the value to set
        Returns:
        the dsl builder
      • connectionFactory

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder connectionFactory​(String connectionFactory)
        The connection factory to be use. A connection factory must be configured either on the component or endpoint. The option will be converted to a <code>javax.jms.ConnectionFactory</code> type. Group: common
        Parameters:
        connectionFactory - the value to set
        Returns:
        the dsl builder
      • disableReplyTo

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder disableReplyTo​(boolean disableReplyTo)
        Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another. The option is a: <code>boolean</code> type. Default: false Group: common
        Parameters:
        disableReplyTo - the value to set
        Returns:
        the dsl builder
      • disableReplyTo

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder disableReplyTo​(String disableReplyTo)
        Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another. The option will be converted to a <code>boolean</code> type. Default: false Group: common
        Parameters:
        disableReplyTo - the value to set
        Returns:
        the dsl builder
      • durableSubscriptionName

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder durableSubscriptionName​(String durableSubscriptionName)
        The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. The option is a: <code>java.lang.String</code> type. Group: common
        Parameters:
        durableSubscriptionName - the value to set
        Returns:
        the dsl builder
      • jmsMessageType

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder jmsMessageType​(org.apache.camel.component.jms.JmsMessageType jmsMessageType)
        Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. The option is a: <code>org.apache.camel.component.jms.JmsMessageType</code> type. Group: common
        Parameters:
        jmsMessageType - the value to set
        Returns:
        the dsl builder
      • jmsMessageType

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder jmsMessageType​(String jmsMessageType)
        Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. The option will be converted to a <code>org.apache.camel.component.jms.JmsMessageType</code> type. Group: common
        Parameters:
        jmsMessageType - the value to set
        Returns:
        the dsl builder
      • replyTo

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyTo​(String replyTo)
        Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer). The option is a: <code>java.lang.String</code> type. Group: common
        Parameters:
        replyTo - the value to set
        Returns:
        the dsl builder
      • testConnectionOnStartup

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder testConnectionOnStartup​(boolean testConnectionOnStartup)
        Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. The option is a: <code>boolean</code> type. Default: false Group: common
        Parameters:
        testConnectionOnStartup - the value to set
        Returns:
        the dsl builder
      • testConnectionOnStartup

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder testConnectionOnStartup​(String testConnectionOnStartup)
        Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. The option will be converted to a <code>boolean</code> type. Default: false Group: common
        Parameters:
        testConnectionOnStartup - the value to set
        Returns:
        the dsl builder
      • deliveryDelay

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder deliveryDelay​(long deliveryDelay)
        Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. The option is a: <code>long</code> type. Default: -1 Group: producer
        Parameters:
        deliveryDelay - the value to set
        Returns:
        the dsl builder
      • deliveryDelay

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder deliveryDelay​(String deliveryDelay)
        Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. The option will be converted to a <code>long</code> type. Default: -1 Group: producer
        Parameters:
        deliveryDelay - the value to set
        Returns:
        the dsl builder
      • deliveryMode

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder deliveryMode​(Integer deliveryMode)
        Specifies the delivery mode to be used. Possible values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. The option is a: <code>java.lang.Integer</code> type. Group: producer
        Parameters:
        deliveryMode - the value to set
        Returns:
        the dsl builder
      • deliveryMode

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder deliveryMode​(String deliveryMode)
        Specifies the delivery mode to be used. Possible values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. The option will be converted to a <code>java.lang.Integer</code> type. Group: producer
        Parameters:
        deliveryMode - the value to set
        Returns:
        the dsl builder
      • deliveryPersistent

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder deliveryPersistent​(boolean deliveryPersistent)
        Specifies whether persistent delivery is used by default. The option is a: <code>boolean</code> type. Default: true Group: producer
        Parameters:
        deliveryPersistent - the value to set
        Returns:
        the dsl builder
      • deliveryPersistent

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder deliveryPersistent​(String deliveryPersistent)
        Specifies whether persistent delivery is used by default. The option will be converted to a <code>boolean</code> type. Default: true Group: producer
        Parameters:
        deliveryPersistent - the value to set
        Returns:
        the dsl builder
      • explicitQosEnabled

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder explicitQosEnabled​(Boolean explicitQosEnabled)
        Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers. The option is a: <code>java.lang.Boolean</code> type. Default: false Group: producer
        Parameters:
        explicitQosEnabled - the value to set
        Returns:
        the dsl builder
      • explicitQosEnabled

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder explicitQosEnabled​(String explicitQosEnabled)
        Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers. The option will be converted to a <code>java.lang.Boolean</code> type. Default: false Group: producer
        Parameters:
        explicitQosEnabled - the value to set
        Returns:
        the dsl builder
      • formatDateHeadersToIso8601

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder formatDateHeadersToIso8601​(boolean formatDateHeadersToIso8601)
        Sets whether JMS date properties should be formatted according to the ISO 8601 standard. The option is a: <code>boolean</code> type. Default: false Group: producer
        Parameters:
        formatDateHeadersToIso8601 - the value to set
        Returns:
        the dsl builder
      • formatDateHeadersToIso8601

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder formatDateHeadersToIso8601​(String formatDateHeadersToIso8601)
        Sets whether JMS date properties should be formatted according to the ISO 8601 standard. The option will be converted to a <code>boolean</code> type. Default: false Group: producer
        Parameters:
        formatDateHeadersToIso8601 - the value to set
        Returns:
        the dsl builder
      • preserveMessageQos

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder preserveMessageQos​(boolean preserveMessageQos)
        Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header. The option is a: <code>boolean</code> type. Default: false Group: producer
        Parameters:
        preserveMessageQos - the value to set
        Returns:
        the dsl builder
      • preserveMessageQos

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder preserveMessageQos​(String preserveMessageQos)
        Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header. The option will be converted to a <code>boolean</code> type. Default: false Group: producer
        Parameters:
        preserveMessageQos - the value to set
        Returns:
        the dsl builder
      • priority

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder priority​(int priority)
        Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. The option is a: <code>int</code> type. Default: 4 Group: producer
        Parameters:
        priority - the value to set
        Returns:
        the dsl builder
      • priority

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder priority​(String priority)
        Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. The option will be converted to a <code>int</code> type. Default: 4 Group: producer
        Parameters:
        priority - the value to set
        Returns:
        the dsl builder
      • replyToConcurrentConsumers

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToConcurrentConsumers​(int replyToConcurrentConsumers)
        Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. The option is a: <code>int</code> type. Default: 1 Group: producer
        Parameters:
        replyToConcurrentConsumers - the value to set
        Returns:
        the dsl builder
      • replyToConcurrentConsumers

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToConcurrentConsumers​(String replyToConcurrentConsumers)
        Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. The option will be converted to a <code>int</code> type. Default: 1 Group: producer
        Parameters:
        replyToConcurrentConsumers - the value to set
        Returns:
        the dsl builder
      • replyToMaxConcurrentConsumers

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToMaxConcurrentConsumers​(int replyToMaxConcurrentConsumers)
        Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. The option is a: <code>int</code> type. Group: producer
        Parameters:
        replyToMaxConcurrentConsumers - the value to set
        Returns:
        the dsl builder
      • replyToMaxConcurrentConsumers

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToMaxConcurrentConsumers​(String replyToMaxConcurrentConsumers)
        Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. The option will be converted to a <code>int</code> type. Group: producer
        Parameters:
        replyToMaxConcurrentConsumers - the value to set
        Returns:
        the dsl builder
      • replyToOnTimeoutMaxConcurrentConsumers

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToOnTimeoutMaxConcurrentConsumers​(int replyToOnTimeoutMaxConcurrentConsumers)
        Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. The option is a: <code>int</code> type. Default: 1 Group: producer
        Parameters:
        replyToOnTimeoutMaxConcurrentConsumers - the value to set
        Returns:
        the dsl builder
      • replyToOnTimeoutMaxConcurrentConsumers

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToOnTimeoutMaxConcurrentConsumers​(String replyToOnTimeoutMaxConcurrentConsumers)
        Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. The option will be converted to a <code>int</code> type. Default: 1 Group: producer
        Parameters:
        replyToOnTimeoutMaxConcurrentConsumers - the value to set
        Returns:
        the dsl builder
      • replyToOverride

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToOverride​(String replyToOverride)
        Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination. The option is a: <code>java.lang.String</code> type. Group: producer
        Parameters:
        replyToOverride - the value to set
        Returns:
        the dsl builder
      • replyToType

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToType​(org.apache.camel.component.jms.ReplyToType replyToType)
        Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive. The option is a: <code>org.apache.camel.component.jms.ReplyToType</code> type. Group: producer
        Parameters:
        replyToType - the value to set
        Returns:
        the dsl builder
      • replyToType

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder replyToType​(String replyToType)
        Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive. The option will be converted to a <code>org.apache.camel.component.jms.ReplyToType</code> type. Group: producer
        Parameters:
        replyToType - the value to set
        Returns:
        the dsl builder
      • requestTimeout

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder requestTimeout​(long requestTimeout)
        The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option. The option is a: <code>long</code> type. Default: 20000 Group: producer
        Parameters:
        requestTimeout - the value to set
        Returns:
        the dsl builder
      • requestTimeout

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder requestTimeout​(String requestTimeout)
        The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option. The option will be converted to a <code>long</code> type. Default: 20000 Group: producer
        Parameters:
        requestTimeout - the value to set
        Returns:
        the dsl builder
      • timeToLive

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder timeToLive​(long timeToLive)
        When sending messages, specifies the time-to-live of the message (in milliseconds). The option is a: <code>long</code> type. Default: -1 Group: producer
        Parameters:
        timeToLive - the value to set
        Returns:
        the dsl builder
      • timeToLive

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder timeToLive​(String timeToLive)
        When sending messages, specifies the time-to-live of the message (in milliseconds). The option will be converted to a <code>long</code> type. Default: -1 Group: producer
        Parameters:
        timeToLive - the value to set
        Returns:
        the dsl builder
      • password

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder password​(String password)
        Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. The option is a: <code>java.lang.String</code> type. Group: security
        Parameters:
        password - the value to set
        Returns:
        the dsl builder
      • username

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder username​(String username)
        Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. The option is a: <code>java.lang.String</code> type. Group: security
        Parameters:
        username - the value to set
        Returns:
        the dsl builder
      • transacted

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder transacted​(boolean transacted)
        Specifies whether to use transacted mode. The option is a: <code>boolean</code> type. Default: false Group: transaction
        Parameters:
        transacted - the value to set
        Returns:
        the dsl builder
      • transacted

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder transacted​(String transacted)
        Specifies whether to use transacted mode. The option will be converted to a <code>boolean</code> type. Default: false Group: transaction
        Parameters:
        transacted - the value to set
        Returns:
        the dsl builder
      • transactedInOut

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder transactedInOut​(boolean transactedInOut)
        Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction. The option is a: <code>boolean</code> type. Default: false Group: transaction
        Parameters:
        transactedInOut - the value to set
        Returns:
        the dsl builder
      • transactedInOut

        default JmsEndpointBuilderFactory.JmsEndpointProducerBuilder transactedInOut​(String transactedInOut)
        Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction. The option will be converted to a <code>boolean</code> type. Default: false Group: transaction
        Parameters:
        transactedInOut - the value to set
        Returns:
        the dsl builder