Skip to content

Scheduled Message Forwarding Processor

Introduction

The scheduled message forwarding processor consumes messages in a message store and sends them to an endpoint. If a message is successfully delivered to the endpoint, the processor deletes the message from the message store. In case of a failure, it will retry after a specified interval.

Properties

See the topics given below for the list of properties that can be configured for a Scheduled Message Forwarding Processor.

Required Properties

Following are the required parameters you can set when adding a Scheduled Message Forwarding Processor:

Property Description
Message Processor Type Select Message Sampling Processor from the list of values.
Message Processor Name Give a name for the message processor artifact.
Message Store Select a pre-defined Message Store artifact from the available list.
Processor State ( is.active ) Activate (true) or Deactivate (false). Activated by default.

Optional Properties

Following are the optional parameters you can set when adding a Scheduled Message Forwarding Processor:

Parameter Name

Description

Forwarding interval ( interval )

Interval in milliseconds in which processor consumes messages.

If both Cron Expression and Forwarding Interval are specified in the configuration, Cron Expression will precede the Forwarding Interval. The default value is 1000.

Retry interval ( client.retry.interval )

Message retry interval in milliseconds. The default is value is 1000.

Non retry http status codes ( non.retry.status.codes )

The parameter based on which the message processor decides if it needs to retry. If the HTTP status code of the response is specified as a n on retry http status code , it will not retry.

Maximum redelivery attempts ( max.delivery.attempts )

Maximum redelivery attempts before deactivating the processor. This is used when the backend server is inactive and the tries to resend the message. The default value is 4.

Drop message after maximum delivery attempts ( max.delivery.drop )

If this parameter is set to Enabled , the message will be dropped from the message store after the maximum number of delivery attempts are made, and the message processor will remain activated. This parameter would have no effect when no value is specified for the Maximum Delivery Attempts parameter.

The Maximum Delivery Attempts parameter can be used when the backend is inactive and the message is resent.

If this parameter is disabled, the undeliverable message will not be dropped and the message processor will be deactivated. The default value is Disabled.

Maximum store connection attempts ( max.store.connection.attempts ) The maximum number of times that the message processor should attempt to connect to a store in case of a broker crash or disconnect.
If the message processor is unable to connect to a store after reaching the maximum number of attempts, the message processor will deactivate. The default value is infinite, and is specified as -1.
Store connection attempt interval ( store.connection.retry.interval ) The interval between retry attempts with which the message processor should attempt to connect to a store in case of a broker crash or disconnect. You need to specify the interval in milliseconds. The default value is 1000.

Axis2 Client repository ( axis2.repo )

The location path of the Axis2 Client repository. This repository is used when it is needed to process messages prior to sending them to the endpoint. The default value is /repository/deployment/client.

Axis2 Configuration ( axis2.config )

The location path of the Axis2 Configuration file to be used to process messages prior to sending them to the endpoint. The default value is repository/conf/axis2/axis2_blocking_client.xml.

Reply sequence name ( message.processor.reply.sequence )

The name of the sequence where the message reply should be sent.

Fault sequence name ( message.processor.fault.sequence )

The name of the sequence where the fault message should be sent to in case of a SOAP fault.

Deactivate sequence name ( message.processor.deactivate.sequence )

The deactivate sequence that will be executed when the processor is deactivated automatically. Automatic deactivation occurs when the maximum delivery attempts is exceeded and the Drop message after maximum delivery attempts parameter is disabled.

Fail messages store ( message.processor.failMessagesStore )

The name of a backup message store to forward messages that fail to reach the backend. Specifying a backup message store allows the message processor to continue processing the next message instead of deactivating in case a message fails to be delivered to the backend. If a backup message store is not specified and a message fails to reach the backend, the message processor will attempt to redeliver the message based on the value of the Maximum redelivery attempts , before deactivating.



Note: Specifying a backup message store while the Drop message after maximum delivery attempts ( max.delivery.drop ) parameter is Enabled results in messages that are not delivered being dropped from the message store and allows the message processor to continue processing the next message.

Quartz configuration file path ( quartz.conf )

The Quartz configuration file path. This properties file contains the Quartz configuration parameters for fine tuning the Quartz engine. More details of the configuration can be found at http://quartz-scheduler.org/documentation/quartz-2.x/configuration/ConfigMain.

Cron Expression ( cronExpression )

Interval in milliseconds in which processor consumes messages.

If both Cron Expression and Forwarding Interval are specified in the configuration, Cron Expression will precede the Forwarding Interval.

Task Count ( member.count )

The number of tasks that need to be created for this message processor.

Specifying this will not guarantee that the processor will run in each worker node. There can be instances where the processor will not run in some workers nodes. The default value is 1.

Message context properties to be used with the scheduled message forwarding processor.

Property Description
targetEndpoint Name of the Address Endpoint where the message should be delivered. This property is deprecated and is no longer required, but for backward compatibility, it does not cause errors if it is included.
OUT_ONLY Set to true if this is an out-only message. Required for out-only scenarios.
FORCE_ERROR_ON_SOAP_FAULT Set to true if it is required to retry in case of SOAP fault.