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.