ibm-messaging / mq-golang

Calling IBM MQ from Go applications
Apache License 2.0
168 stars 60 forks source link

Reconnection options #91

Closed salapat11 closed 5 years ago

salapat11 commented 5 years ago

MQ Version: v8 Platform: z/OS

Prometheus exporter is connecting as a client to z/OS queue manager from a remote machine. When queue managers were recycled, exporter failed to connect until it is bounced. Is there an option for reconnecting automatically?

ibmmqmet commented 5 years ago

There's nothing explicit in the monitor program for reconnection. However, the channel auto-reconnect option for clients does work for queue manager/network failures. Set, for example, in mqclient.ini or on the clntconn definition.

Auto-reconnect does not take effect when a queue manager is deliberately stopped, unless the client program is told explicitly to try to reconnect (endmqm -r on Distributed queue managers; don't think there's an equivalent on z/OS). So when running as a client, instead of as a SERVICE on a local queue manager, something needs to monitor and restart the program if necessary.

Regardless, you should update the monitor to the latest version of code (4.0.1 released a few days ago) as, among other things, it improves some of the error checking so it does end on serious problems. So you would then know to restart it.