This topic explains how to configure monitoring for any JMS system.
To configure the Event Monitor tool to monitor any JMS system:
- Double-click the Event Monitor tool to open up the tool configuration panel.
- In the Event Source tab, select Generic JMS system as the platform, then configure the following options:
- In the Connection area, specify your connection settings.
- In the Initial Context field, specify a fully-qualified class name string, passed to the JNDI javax.naming.InitialContext constructor as a string value for the property named javax.naming.Context.INITIAL_CONTEXT_FACTORY.
- In the Connection Factory field, specify the JNDI name for the factory. This is passed to the lookup() method in javax.naming.InitialContext to create a javax.jms.QueueConnectionFactory or a javax.jms.TopicConnectionFactory instance.
- In the Destination Name field, specify the topic or queue that you want to monitor.
- You can specify a regular topic or queue (e.g., the entry or exit of a workflow process), or a special process tracking topic.
- In the Destination Type field, specify whether the tracking destination is a topic or a queue.
- (Optional) In the Message Selector field, enter a value to act as a message filter. See Using Message Selector Filters for tips.
If you want SOAtest to use the JMS QueueBrowser API in order to trace messages posted on a JMS queue— without removing them from the queue— enable the Leave messages on the queue option. This allows SOAtest to gain visibility into these messages without impacting the transaction.
Caution: Leave messages on the queue
For a discussion of potential complications with this option—and how to avoid them—see JMS Queue Options.
- If you want any additional JNDI properties applied to this deployment, specify them in the JNDI properties table.
- In the Options tab, modify settings as needed.
- Clear the event viewer before each event monitor run determines whether SOAtest automatically clears the Event Monitor event view (both text and graphical) whenever Event Monitor starts monitoring.
- Include test execution events in the XML event output specifies whether the Event Viewer tab and XML output display show only the monitored messages and events, or if they also indicate when each test started and completed. Enabling this option is helpful if you have multiple tests in the test suite and you want to better identify the events and correlate them to your test executions.
- Wrap monitored messages with CDATA to ensure well-formedness of the XML event output should be disabled if you expect the monitored events’ message content to be well-formed XML. This will make the messages inside the events accessible via XPaths, allowing the message contents to be extracted by XML Transformer or validated with XML Assertor tools.
- If the message contents are not necessarily XML, you should enable this option to ensure that the XML output of the Event Monitor tool (i.e. the XML Event Output for chaining tools to the Event Monitor, not what is shown under the Event Viewer) is well-formed XML by escaping all the message contents. This will make the content of these messages inaccessible by XPath since the message technically becomes just string content for the parent element.
- Note that the Diff tool’s XML mode supports string content that is XML. In other words, no matter which option you select here, the Diff tool will still be able to diff the messages as XML, including the ability to use XPaths for ignoring values.
- Maximum monitor execution duration specifies the point at which the test should timeout—in case another test in the test suite hangs, or if no other tests are being run (e.g., if you execute the Event Monitor test apart from the test suite, then use a custom application to send messages to system).
- Event polling delay after each test finishes execution (milliseconds) is not applicable here.