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

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

book

Article ID: 39770

calendar_today

Updated On:

Products

CA Continuous Application Insight (PathFinder) Service Virtualization

Issue/Introduction

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

Environment

All DevTest versions including and after DevTest release 8.1

Resolution

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.