This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Scheduled Message Forwarding Processor

The scheduled message forwarding processor is a message processor that 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. 

Scheduled message forwarding processor parameters

Following are the parameters and the description for each of the parameters you need to specify when creating a scheduled message forwarding processor.

Parameter Name

Description

Required

NameThe name of the scheduled message forwarding processor.Yes
Endpoint nameThe endpoint to which the scheduled message forwarding processor should forward messages.Yes
Message StoreThe message store from which the scheduled message forwarding processor consumes messages.Yes
Processor state (is.active)Activate (true) or Deactivate (false)Yes
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.

No (The default value is 1000)

Retry interval (client.retry.interval)

Message retry interval in milliseconds.

No (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 non retry http status code, it will not retry. 

No

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.

No (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.

No (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.
No (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.No (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.

No (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.

No (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.

No

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.

No

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.

No

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.

No

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.

No

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.

No

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.

No (The default value is 1)

In addition to specifying the required parameters, you can click Show Additional Parameters and set any of the additional parameters if necessary.

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

Property Name

Value

Required

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.

Yes

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.

NO

Samples

For samples illustrating how to use the message forwarding processor, see: