How to check the EMS client acknowledgement mode

How to check the EMS client acknowledgement mode

book

Article ID: KB0080427

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service All

Description

1) From the EMS server side:

- Login to the EMS admin tool and connect to the concerned EMS instance.
- Run command: show consumers 
- In the output, there is a column: SAS[NMBS] where A stands for acknowledgement mode of the consumer. Check for it's value for the corresponding consumer:
    A - mode of consumer's session, values are:
    — N - no acknowledge
    — A - auto acknowledge
    — D - dups_ok acknowledge
    — C - client acknowledge
    — T - session is transactional
    — X - XA or MS DTC session
    — Z - connection consumer

For eg:
       Id   Conn    Sess User              T Queue                                              SASB Pre Dlv Sent Size   Uptime Sent Ackd    Sent   Acked
1114989676 852687 2052988 anonymous         Q EPEM.STORE.BRIDGED                                 +C--  32  32   32 146K    0.102  999    -      32       0
1114989679 852687 2052989 anonymous         Q EPEM.STORE.BRIDGED                                 +C--  32  32   32 108K    0.102  999    -      32       0
1114989682 852687 2052990 anonymous         q EPEM.STORE.BRIDGED                                 +C--  32   0    0    0    0.101    -    -       0       0
1114989685 852687 2052991 anonymous         q EPEM.STORE.BRIDGED                                 +C--  32   0    0    0    0.101    -    -       0       0  

Here the acknowledge mode is client

2) From the client side logs:
- Connect to ems admin tool and run the command: set server client_trace=enabled
- Check at the client side for the extra EMS logging getting generated after enabling client trace.
For eg:
2018-10-10 18:45:45.848 [1446392013 Thread-269] [TIBCO EMS]: [J] QueueConnection Create QueueSession conn=5 sess=42 transacted=false ackmode=1
2018-10-10 18:45:45.868 [1446392013 Thread-269] [TIBCO EMS]: [J] QueueConnectionFactory[URL=tcp://localhost:7222;clientID=null;Properties={}] CreateQueueConnection conn=28 user={not set} UTC offset=0
2018-10-10 18:45:45.868 [1446392013 Thread-269] [TIBCO EMS]: [J] QueueConnection Create QueueSession conn=28 sess=43 transacted=false ackmode=1
2018-10-10 18:45:45.868 [1446392013 Thread-269] [TIBCO EMS]: [J] QueueSession Create Queue conn=28 sess=43 dest=$sys.lookup

- Check for the ackmode in the logs. The value of the ackmode would tell the acknowledgement mode that this client is using.
-Values of ackmode:
    1= AUTO_ACKNOWLEDGE
    2= CLIENT_ACKNOWLEDGE
    3= DUPS_OK_ACKNOWLEDGE
    23= EXPLICIT_CLIENT_ACKNOWLEDGE (TIBCO Proprietary) 
    24= EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE (TIBCO Proprietary)
    22= NO_ACKNOWLEDGE (TIBCO Proprietary)

Issue/Introduction

How to check the EMS client acknowledgement mode

Environment

All