Polling a Websphere Message Queue

Problem

You want to launch a SAS program to read messages from a Websphere message queue and process them.

Solution

You can create a job in SAS Data Integration Studio to read message from a queue and add appropriate transformations or SAS code to process the message. You can then deploy this job that contains a Websphere Queue Reader transformation for scheduling to be run in batch mode. Message Queue Polling Server is configured to launch this deployed job to read and process messages from the queue whenever a specified number of messages accumulates on the Websphere queue.
Once you configure a Message Queue Polling Server, you can use the object spawner to perform message queue polling to monitor queues and start SAS programs to read and process messages. The Object Spawner application can monitor the queue depth for a message queue and start a SAS program to process messages on the queue. Message queue polling enables you to configure the application monitor so that new SAS sessions can be started as needed.
Message queue polling enables load balancing across multiple SAS sessions. You can configure any number of definitions to specify which queues to monitor, the transport (MQSeries or MQSeries C), the number of messages (the queue depth) required to start a new SAS session, and the wait interval between queries. Your administrator can customize the configuration so that sufficient processes are running to handle the number of messages on the queue.
You or an administrator must perform the following tasks to create the connection between the SAS job and the Message Queue Polling Server:
  1. Define the Message Queue Server and the message queue. See the "Administering Message Queues" section in the "Administering SAS Data Integration Studio" chapter of the SAS Intelligence Platform: Desktop Application Administration Guide.
  2. Create a queue reader job. See Processing a WebSphere Queue.
  3. Deploy the queue reader job for scheduling. See Deploy the SAS Job for Scheduling.
  4. Create the Message Polling Server. Then, configure it to point to the SAS job that is used to process the message (such as the queue reader job). See the "Administering Message Queues" section in the "Administering SAS Data Integration Studio" chapter of the SAS Intelligence Platform: Desktop Application Administration Guide.
  5. Configure the object spawner to recognize the Message Polling Server. Then, refresh the object spawner to start the polling server job. See the "Administering Message Queues" section in the "Administering SAS Data Integration Studio" chapter of the SAS Intelligence Platform: Desktop Application Administration Guide.

Tasks

Deploy the SAS Job for Scheduling

Perform the following steps to deploy a SAS job such as a queue reader job for scheduling and eventual linkage to a Message Polling Server:
  1. Right-click the SAS job in the Folders tree. Click Scheduling in the pop-up menu. Then, click Deploy in the submenu.
  2. Verify that the appropriate batch server, deployment directory, deployed job name, and location are displayed in the Deploy a job for scheduling window.
  3. Click OK to deploy the SAS job for scheduling.
You can now use information about this deployed SAS job in your Message Polling Server configuration.