The Meaning of "Scope" in the JMS and Native MQ Steps


Article ID: 39770


Updated On:


CA Continuous Application Insight (PathFinder) Service Virtualization


What are the meanings of the values of the scope setting for the JMS and Native MQ step?


All DevTest versions including and after DevTest release 8.1


The new JMS and Native MQ messaging steps allow the specification of the connection scope. This setting may have one of following settings:

1. Step - when the scope is step the connection is present for the lifetime of the step only. The connection will be opened for the start of the step, and closed when the step completes.

2. Model - the connection is persistent for the lifetime of the execution of the test or virtual service. 

          1. In a test, each virtual user will have a connection for the duration of the test.

          2. In a virtual service, each thread (specified by the capacity of the service) will hold one connection for the duration of the service.

3. Staged - the connection is shared amongst the virtual users running the same test on a Simulator or amongst the threads for a virtual service. It will be closed when there are no users of connection remaining (all tests finished or all services ended).

4. Global - the connection is shared throughout all threads of the Simulator or VSE Java Virtual Machine (JVM), regardless of the test or service being executed. The connection will only be closed if it remains unused. 

There are performance and resource ramifications of the scope chosen:

The Step scope will consume the most CPU and be the slowest to execute, requiring a re-negotiation of the connection at every invocation

The Model and the Staged scopes provide localised sharing, and are more efficient. The choice of step is largely defined by the contention expected in the workload.

The Global scope is the least resource intensive, with a trade-off against connection contention. It is unusual to require the use of this scope.

Finally, there is also the Default value that may be specified for the scope. This value is the scope that is defined when creating the connection asset, and will be one of Step, Model, Staged or Global, as above.