Multiple instances of Gen CICS Multi Sockets Listener TISRVMSL (TIML)
search cancel

Multiple instances of Gen CICS Multi Sockets Listener TISRVMSL (TIML)

book

Article ID: 229778

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

Gen 8.6 GUI client with CICS server application using the Gen CICS Multi Sockets Server Listener (TISRVMSL/TIML).
Currently trying to setup TLS for our connections.
Would like to introduce a new port for the TLS connection and retain current non-TLS TCP/IP port as backup, both of which need to connect to the same CICS region .
The existing non-TLS port is already setup with the default value TIML as the listener transaction id.
When discussing the new port with CICS Infrastructure support, they advised that it is one port per listener, which means that for the new TLS port, they are expecting new listener transaction id to be specified other than TIML used by the existing port.
Can a different listener transaction id other than TIML be used and is using parallel multiple ports applicable?

Environment

Gen 8.6 CICS Multi Sockets Server Listener

Resolution

More than one TISRVMSL listener in the region can be used as long as each has a separate port number.
The transaction identifier can be something other than TIML but the same name must be used in the EZACONFG file and in the CICS definition. 

Please see the Gen 8.6 documentation page Customize Middleware under section "Customize for TCP/IP > CICS > CICS Multi Sockets Server" i.e. 
*****
DEFINE TRANSACTION(TIML*)
DESCRIPTION(Gen CICS Multi Sockets Server Listener Transaction)
PROGRAM(TISRVMSL)
TASKDATALOC(ANY)
TASKDATAKEY(CICS)
...

* This transaction identifier can be something other than TIML. The EZACONFG file and the CICS definition must use the same name. 
*****

Additional Information

FAQs

Q1.Is there a way to tell what percentage (high water mark) of sockets are used by the listener?  How to determine if an additional listener is needed?
A1. The maximum number of sockets allocated for each listener is managed by the NUMSOCK parameter in the EZAC configuration for that listener transaction (https://www.ibm.com/docs/en/zos/3.1.0?topic=environment-building-configuration-data-set-ezacicd)
Also CICS parameter MAXSOCKETS limits the total number of sockets that a CICS domain can manage concurrently (https://www.ibm.com/docs/en/cics-ts/6.x?topic=parameters-maxsockets)
To check active socket usage for each listener port the Netstat command can be used (https://www.ibm.com/docs/en/zos/3.1.0?topic=network-netstat)

Q2. How to divide up the client connections if using multiple listeners?
A2. If using multiple listeners just divide up the total client connections across the listeners i.e. configure an equal number of clients to connect to each specific listener port.
Alternatively having an external load balancer at the front end which all clients initially connect to would allow a more dynamic choice of which listener the client connection is forwarded on to.