0
votes

I am trying to connect to a Queue Manager via IBM WebSphere MQ Explorer. The Queue Manager Name, Host, Port and Channel are all correct. But I and am getting the following error: AMQ4043

Message

Queue manager not available for connection - reason .

Explanation

The attempt to connect to the queue manager failed. This could be because the queue manager is incorrectly configured to allow a connection from this system, or the connection has been broken.

Response

Ensure that the queue manager is running. If the queue manager is running on another computer, ensure it is configured to accept remote connections.

enter image description here

When I login to the server I see that the queue manager is running:

@:/home/mqm #strmqm fooQueueMgr
WebSphere MQ queue manager running.

Details:

@:/home/mqm #dspmqver
Name:        WebSphere MQ
Version:     7.0.0.0
CMVC level:  p000-L080603
BuildType:   IKAP - (Production)

Any insight?

3

3 Answers

1
votes

Without seeing what the error log says for the client connection it is only a guess, but what I suspect has happened since you say "The Queue Manager Name, Host, Port and Channel are all correct" and it was fixed by a queue manager restart, is this:

You created a listener object with the correct port number, and you made it CONTROL(QMGR) but then you did not start it, assuming that the queue manager would start it for you. When you next start the queue manager it does start it for you, but the first time, i.e. just after you define it, it does not as CONTROL(QMGR) only takes affect at queue manager start up.

0
votes

Solution:

I stopped the queue manager then started it. After this I was able to connect via IBM WebSphere MQ Explorer.

@:/home/mqm #endmqm fooQueueMgr
Waiting for queue manager 'fooQueueMgr' to end.
01/08/15 21:28:01 AMQ9604: Channel 'fooChannel1' terminated unexpectedly
01/08/15 21:28:01 AMQ9604: Channel 'fooChannel2' terminated unexpectedly
Waiting for queue manager 'fooQueueMgr' to end.
Quiesce request accepted. The queue manager will stop when all outstanding work
is complete.

@:/home/mqm #strmqm fooQueueMgr
WebSphere MQ queue manager 'fooQueueMgr' starting.
5 log records accessed on queue manager 'fooQueueMgr' during the log replay phase.
Log replay for queue manager 'fooQueueMgr' complete.
Transaction manager state recovered for queue manager 'fooQueueMgr'.
WebSphere MQ queue manager 'fooQueueMgr' started.

I still want to know how to prevent this manual intervention in the future.

0
votes

It's not enough that the queue manager is running and, in any case, you appear to have used the strmqm command to check it, not realising that said command would actually start it if it wasn't already running.

You also need to configure the remote queue manager to allow for remote administration.

Details can be found here.