JmsSetMessageSelector Function

Action

Sets the message selector for the consumer.

Include file

Jms.bdh

Syntax

JmsSetMessageSelector( in sMessageSelector : string );
Parameter Description
sMessageSelector Only messages with properties matching the message selector expression are delivered. A value of null or an empty string indicates that there is no message selector for the message consumer.

Example

transaction TExampleUsingSelector
  var sMessage : string;
      sMessageId : string;
      sMessageSelector : string;
      sReturnType : number;
      hHandle : number;
  begin   
    JmsSetMessageSelector("MESSAGEID = '12345'", csQueue);
    
    JmsSetMessageProperty("MESSAGEID","12345");
    JmsSendTextMessage("Welcome1!", csQueue);
    JmsReceiveMessage(csQueue, 5000);
    sMessage := JmsGetMessageText();
    if (Strlen(sMessage) = 0) then
      RepMessage("ERR: Should have receive the message!", SEVERITY_ERROR);
    end;
    
    JmsClearMessage();
    JmsSendTextMessage("Welcome2!", csQueue);
    sReturnType := JmsReceiveMessage(csQueue, 5000);
    if sReturnType <> JMS_TIMEOUT then
      sMessage := JmsGetMessageText();
      sMessageId := JmsGetMessageProperty("MESSAGEID");
      sMessageSelector := JmsGetMessageSelector(csQueue);
      Print("Return type: " + string(sReturnType) + "; message text: " + sMessage + "; messageid: " + sMessageId + "; messageSelector: " + sMessageSelector);
      RepMessage("ERR: Should have not receive the message!", SEVERITY_ERROR);
    end;

    JmsSetMessageProperty("MESSAGEID","12345");
    JmsSendTextMessage("Welcome3!", csQueue);
    JmsReceiveMessage(csQueue, -1);
    JmsVerifyMessageText("Welcome3!");
  end TExampleUsingSelector;

Sample scripts

JmsSample.bdf, JmsSample.java