Layer7 API Management

  • 1.  IBM MQ Integration OpenOptions

    Posted Jan 27, 2017 05:08 AM
      |   view attached

    Hi all,

     

    We are tyring to get some specific integrations going with IBM MQ, defaut functionality is working but we are trying to set some specific options. FYI i am not an expert on IBM MQ so this text might contain some errors/ lack of clarity please let me know if that's the case.

     

    This is a list of functions we are trying to het working:

    • Provide any of the openOptions when opening the queue;
    • Provide any of the GetMessageOptions when reading from the queue; e.g. MQGMO_LOGICAL_ORDER + MQGMO_ALL_SEGMENTS_AVAILABLE + MQGMO_COMPLETE_MSG
    • Provide any of the PutMessageOptions when putting messages on the queue; e.g. MQPMO_LOGICAL_ORDER
    • Provide any of the MessageFlags when putting messages on the queue. e.g. MQMF_SEGMENTATION_ALLOWED

     

    Use case example 1: Reading message from a queue - When reading messages from a queue the following options are used: MQOO_BIND_NOT_FIXED (when connecting to a queue via the queue manager the queue is 'refreshed' newly connected every time) + MQOO_INPUT_SHARED (a non-exlusive read lock on a specific queue) + MQOO_FAIL_IF_QUIESCING (the option action should fail if the queue is in quiescing state) + MQOO_INQUIRE (to read the queue attributes) + MQOO_SAVE_ALL_CONTEXT (the mq context is saved in the queue handle)

     

    Use case example 2: Write a message to the queue - When writing a message to the queue the following options are used: 

    MQOO_BIND_NOT_FIXED + MQOO_OUTPUT + MQOO_FAIL_IF_QUIESCING + MQOO_INQUIRE + MQOO_SET_ALL_CONTEXT.

     

    In the attacment a screenshot of how we would solve a similar case in datapower.

     

    thanks for any help,

     

    Jan Jaap



  • 2.  Re: IBM MQ Integration OpenOptions

    Broadcom Employee
    Posted Jan 21, 2019 01:21 PM

    Good afternoon,

     

    Open Option capability was added into the Gateway product in version 9.3 (MQ Native Queue Properties - CA API Gateway - 9.3 - CA Technologies Documentation ) 

     

    Excerpt from the documentation:

     

    Inbound: The Gateway monitors and consumes messages from the queue.
    Advanced users can use the following options to fine tune how message are handled for inbound messages. This requires knowledge of the MQI calls.

    • Open Options: Establish a connection to the queue using the options specified here. Enter a value that represents the sum of the constant fields for the MQOPEN API call. The Open options are on a per-connection basis. These options apply only when the Gateway initiates a connection to a MQ Queue/Queue Manager.
      Example:
      You want to use the constant fields MQOO_OUTPUT (16) and MQOO_FAIL_IF_QUIESCING (8192). Add these values together and enter the resulting 8208 into the Open Options field.
      If you do not specify Open options here, the Gateway consults the mq.listenerInboundOpenOptions cluster property. If this cluster property is not defined, then the Gateway uses the defaults from the MqNativeConstants class.
    • Get Message Options: Retrieve a message from a local queue using the options specified here. Enter a value that represents the sum of the constant fields for the MQGET API call. 
      Example:
      You want to use the constant fields MQGMO_FAIL_IF_QUIESCING (8192) and MQGMO_NO_SYNCPOINT (4). Add these values together and enter the resulting 8196 into the Get Message Options field.
      If you do not specify Get Message options here, the Gateway consults the mq.listenerInboundGetMessageOptions cluster property. If this cluster property is not defined, then the Gateway uses the defaults from the MqNativeConstants class.

    Tips: (1) For a list of the Constant Field Values, see: https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.1.0/com.ibm.mq.javadoc.doc/WMQJavaClasses/constant-values.html#com.ibm.mq.constants (2) To configure Open Options and Message Options for outbound messages, see "Configuring the [Target] Tab" in Route via MQ Native Assertion.

     

    Sincerely,

     

    Stephen Hughes

    Broadcom Support