-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathcircuit-breaker-mule-4.yaml
117 lines (117 loc) · 3.97 KB
/
circuit-breaker-mule-4.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
id: Circuit Breaker
name: Circuit Breaker
description: A custom policy to implement a lightweight Circuit Breaker pattern in Mule 4 APIs
category: Custom
type: custom
resourceLevelSupported: true
encryptionSupported: false
standalone: true
requiredCharacteristics: []
providedCharacteristics: []
configuration:
- propertyName: failureThreshold
name: Failure Threshold
description: How many failures should happen before trip the circuit (state = OPEN).
type: string
optional: false
sensitive: false
allowMultiple: false
- propertyName: timeFrame
name: Time Frame
description: What is the time (in seconds) within the errors must be counted?
type: string
optional: false
sensitive: false
allowMultiple: false
- propertyName: retryPeriod
name: Retry Period
description: What is the time (in seconds) after which we should retry the failed request once the circuit is in OPEN state?
type: string
optional: false
sensitive: false
allowMultiple: false
- propertyName: evaluateErrorObject
name: Evaluate the error object to trigger the circuit?
description: Select this option if the underlying application propagates the error object.
type: boolean
optional: true
defaultValue: false
- propertyName: exceptionsArray
name: Exceptions Array
description: |
Specify all the error types that can trip the circuit. The default value is ANY, and means that any exception occurred in the protected application will trigger the circuit.
Expect a comma separated string. Example: "MULE:EXPRESSION, HTTP:UNAUTHORIZED". Double quotes are required but spaces between types are not.
type: string
defaultValue: '"ANY"'
optional: true
sensitive: false
allowMultiple: false
dependsOnKey: evaluateErrorObject
dependsOnValue: true
- propertyName: evaluateHttpResponse
name: Evaluate the HTTP response to trigger the circuit?
description: Select this option to evaluate the HTTP response. Check this option if evaluate error object option is unchecked.
type: boolean
optional: true
defaultValue: false
- propertyName: httpCodesArray
name: HTTP Codes Array
description: |
Specify all the HTTP codes that can trip the circuit. The default value is 500 (Internal Server Error).
Expect a comma separated string. Example: "500, 401". Double quotes are required but spaces between types are not.
type: string
defaultValue: '"500"'
optional: true
sensitive: false
allowMultiple: false
dependsOnKey: evaluateHttpResponse
dependsOnValue: true
- propertyName: overrideOsSettings
name: Override Object Store settings?
description: Select this option to override default OS settings.
type: boolean
optional: true
defaultValue: false
- propertyName: osPersistent
name: Is the Object Store persistent?
description: Select this option to enable a persistent Object Store. The default is false.
type: boolean
optional: true
defaultValue: false
dependsOnKey: overrideOsSettings
dependsOnValue: true
- propertyName: osTtl
name: Object Store's entry TTL
description: The entry timeout. Default value is 1 (hour).
type: int
optional: true
sensitive: false
allowMultiple: false
defaultValue: "1"
dependsOnKey: overrideOsSettings
dependsOnValue: true
- propertyName: osTtlUnit
name: Object Store's entry TTL unit
description: The time unit. Default value is "HOURS".
options:
- name: DAYS
value: "DAYS"
- name: HOURS
value: "HOURS"
- name: MICROSECONDS
value: "MICROSECONDS"
- name: MILISECONDS
value: "MILISECONDS"
- name: MINUTES
value: "MINUTES"
- name: NANOSECONDS
value: "NANOSECONDS"
- name: SECONDS
value: "SECONDS"
type: radio
defaultValue: HOURS
optional: true
sensitive: false
allowMultiple: false
dependsOnKey: overrideOsSettings
dependsOnValue: true