MaxAttempts, MaxRuntime and MaxRetryDelay
As explained in the Inbound Interface section, a developer can define the MaxAttempts and MaxRuntime for processing a message in studio. However, you can override these values at runtime by adding ExternalReference records.
Additionally, you can also override the MaxRetryDelay for an Interface by adding a similar ExrenalReference entry. This cannot be configured during development via Studio and by default is 100 millis.
You should supply the following values for fields in ExternalReference model:
RefType - Interface.MaxAttempts or Interface.MaxRuntime or Interface.MaxRetryDelay
ExternalValue - <qualified queue name>~<interface name>~<interface version> or <interface name>~<interface version>
LocalValue - <desired number of attempts or max runtime in millis or max retryDelay in millis>
Table 16.11. ExternalReference field for specifying MaxAttempts value
RefType |
ExternalValue (with and without queue) |
LocalValue (integer) |
Interface.MaxAttempts |
9328~SampleEnterprise~inbox/Bookstore~ZBKS.BookLoad~1.0 |
2 |
Interface.MaxAttempts |
ZBKS.BookLoad~1.0 |
5 |
Table 16.12. ExternalReference field for specifying MaxRuntime value
RefType |
ExternalValue (with and without queue) |
LocalValue (in millis) |
Interface.MaxRuntime |
9328~SampleEnterprise~inbox/Bookstore~ZBKS.BookLoad~1.0 |
60000 |
Interface.MaxRuntime |
ZBKS.BookLoad~1.0 |
700000 |
Table 16.13. ExternalReference field for specifying MaxRetryDelay value
RefType |
ExternalValue (with and without queue) |
LocalValue (in millis) |
Interface.MaxRetryDelay |
9328~SampleEnterprise~inbox/Bookstore~ZBKS.BookLoad~1.0 |
600 |
Interface.MaxRetryDelay |
ZBKS.BookLoad~1.0 |
700 |
If you have an entry in ExternalReference model, that will take priority over the values defined on inbound or outbound interface. Also, if you have an entry in ExternalReference table for both queue name and without queue name then preference will be given to QualifiedQueueName~InterfaceName~Version first.