summaryrefslogtreecommitdiff
path: root/java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js
blob: 0dd45b0392b40cd22750564cb7e9ce3031639b7d (plain)
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
118
119
120
/*
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 */
var jsonObject = {
    _tests:[]
};

for (var i=0; i<2; i++)
{
    var deliveryMode = i+1;
    var durable = (deliveryMode == 2);
    var suffix = durable ? "PERSISTENT" : "NON-PERSISTENT";
    var queueName = "direct://amq.direct//queue-selectors-" + suffix + "?durable='" + durable + "'";
    var consumerNumbers = [1, 2, 4, 8, 16, 32];
    var consumerAcknowledgeMode = 1;
    for (var j=0; j<consumerNumbers.length; j++)
    {
        var consumerNumber = consumerNumbers[j];
        var testName = "Queues with selectors: " +consumerNumber + " consumers - 1 producer - non overlapping - " + suffix;
        var test = {
                "_name": testName,
                "_queues":[
                  {
                    "_name": queueName,
                    "_durable": durable,
                    "_attributes":
                      {
                        "x-qpid-capacity": 10485760,
                        "x-qpid-flow-resume-capacity": 8388608
                      }
                  }
                ],
                "_clients":[
                  {
                    "_name": "producingClient",
                    "_messageProviders": [
                      {
                          "_name": "messageProvider",
                          "_messageProperties": {
                              "id": {
                                  "@def": "range",
                                  "_lower": 1,
                                  "_upper": consumerNumber,
                                  "_type": "int"
                              }
                          }
                      }
                    ],
                    "_connections":[
                      {
                        "_name": "connection1",
                        "_factory": "connectionfactory",
                        "_sessions": [
                          {
                            "_sessionName": "session1",
                            "_acknowledgeMode": 1,
                            "_producers": [
                              {
                                "_name": "Producer1",
                                "_destinationName": queueName,
                                "_maximumDuration": 60000,
                                "_deliveryMode": deliveryMode,
                                "_messageSize": 1024,
                                "_messageProviderName": "messageProvider"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "_name": "consumingClient",
                    "_connections":[]
                  }
                ]
              };
        for(var n=0; n<consumerNumber; n++)
        {
            var consumerConnection = {
                    "_name": "connection" + n,
                    "_factory": "connectionfactory",
                    "_sessions": [
                      {
                        "_sessionName": "session" + n,
                        "_acknowledgeMode": consumerAcknowledgeMode,
                        "_consumers": [
                          {
                            "_name": "Consumer" + n,
                            "_destinationName": queueName,
                            "_maximumDuration": 60000,
                            "_selector": "id=" + ( n + 1)
                          }
                        ]
                      }
                    ]
                  };
            test._clients[1]._connections.push(consumerConnection);
        }
        jsonObject._tests.push(test);
    }
}