# tibemsMsgProducer_SetNPSendCheckMode

Function

## Purpose

Set when a producer should check the result of sending a NON_PERSISTENT message.

## C Declaration

    extern tibems_status tibemsMsgProducer_SetNPSendCheckMode(
        tibemsMsgProducer msgProducer,
        tibemsNpCheckMode mode);

## COBOL Call

    CALL "tibemsMsgProducer_SetNPSendCheckMode"
        USING BY VALUE msgProducer,
               BY VALUE mode,
               RETURNING tibems-status
    END-CALL.

Note: `msgProducer` has usage pointer.

## Parameters

Parameter | Description
--- | ---
`msgProducer` | Set the property of this producer.
`mode` | The send check mode. See `tibemsNpCheckMode` for details.

## Remarks

`tibemsNpCheckMode` only applies to messages sent using the NON_PERSISTENT delivery mode, using non-transactional Session. It does not apply to cases when message was sent using PERSISTENT or RELIABLE_DELIVERY delivery modes, or if the corresponding Session is transactional.

If the producer's send check mode is not set, it may execute the mode applied globally to all producers via EMS server parameter. Setting any mode other than NPSEND_CHECK_DEFAULT unconditionally overrides global setting defined by the server.

Normally applications use the server's setting or configure producers with a specific send mode only once. However, if required, applications may choose to change this mode before sending every message.

If a producer does not check the result of sending a message, it will not know if a problem has occurred and the message was not processed by the server. If the producer checks the result of the send, the send method will receive the server's response to the send and throw the appropriate exception if any problem has occurred. However, checking the result of sending a message will reduce the performance of the producer.

## See Also

`tibemsMsgProducer_GetNPSendCheckMode`

Copyright © Cloud Software Group, Inc. All rights reserved.