-
Notifications
You must be signed in to change notification settings - Fork 0
/
ibmmq-workflow.json
115 lines (115 loc) · 4.6 KB
/
ibmmq-workflow.json
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
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"For_each_trade": {
"actions": {
"Check_Large_Trade": {
"actions": {
"Put_Large_Trade": {
"inputs": {
"parameters": {
"message": "@json(item().contentData)",
"queueName": "DEMO.LARGE.TRADE",
"sendMessageOptions": {
"format": "String"
}
},
"serviceProviderConfiguration": {
"connectionName": "mq",
"operationId": "sendMessage",
"serviceProviderId": "/serviceProviders/mq"
}
},
"type": "ServiceProvider"
}
},
"else": {
"actions": {
"Put_Regular_Trade": {
"inputs": {
"parameters": {
"message": "@json(item().contentData)",
"queueName": "DEMO.REGULAR.TRADE",
"sendMessageOptions": {
"format": "String"
}
},
"serviceProviderConfiguration": {
"connectionName": "mq",
"operationId": "sendMessage",
"serviceProviderId": "/serviceProviders/mq"
}
},
"type": "ServiceProvider"
}
}
},
"expression": {
"and": [
{
"greaterOrEquals": [
"@json(item().contentData)['notional']",
100000
]
}
]
},
"type": "If"
}
},
"foreach": "@body('Retrieve_multiple_trades')?['messages']",
"runAfter": {
"Retrieve_multiple_trades": [
"SUCCEEDED"
]
},
"type": "Foreach"
},
"Retrieve_multiple_trades": {
"inputs": {
"parameters": {
"getMessageOptions": {
"format": "String",
"maximumBatchSizeInMB": 10,
"maximumMessagesInBatch": 50
},
"includeInfo": true,
"queueName": "DEMO.REQUEST.TRADE"
},
"serviceProviderConfiguration": {
"connectionName": "mq",
"operationId": "receiveBatch",
"serviceProviderId": "/serviceProviders/mq"
}
},
"runAfter": {},
"type": "ServiceProvider"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"triggers": {
"When_one_or_more_trades_are_received": {
"inputs": {
"parameters": {
"queueName": "DEMO.REQUEST.TRADE"
},
"serviceProviderConfiguration": {
"connectionName": "mq",
"operationId": "pollAvailable",
"serviceProviderId": "/serviceProviders/mq"
}
},
"kind": "Polling",
"recurrence": {
"frequency": "Minute",
"interval": 1,
"timeZone": "AUS Eastern Standard Time"
},
"type": "ServiceProvider"
}
}
},
"kind": "Stateful"
}