Today, MQ 9.3, if you are adding a pub/sub configuration, is not enforcing the completion of the field Base Object when you add a new alias queue. If you leave it empty, when you put the first message you will get the error message:
Message AMQ4477. The topic string supplied is invalid. When you click on details you have:
Explanation: A topic string was missing or contained invalid characters.
Response: Ensure a topic string has been defined and that there are no invalid characters in the topic string.
That message is misleading, and most likely the support team will waste time checking the topic string instead of verify the Base Object field. Maybe we don't need a specific message for this scenario and MQ might issue the error AMQ4479 instead:
Message AMQ4479. An MQOPEN or MQPUT1 call was issued, specifying an alias queue as the target, but the BaseObjectName in the alias queue attributes was not recognized as a queue or topic name. When you click on details you have:
Explanation: This error can also occur when BaseObjectName is the name of a cluster queue that cannot be resolved successfully.
Response: Correct the queue definitions.
Or perhaps, the field Base Object might be defined as mandatory and avoid the previous scenario entirely.
The steps to reproduce this using MQ Explorer are:
1- Create a new Alias Queue, giving values for Queue Name, Description, and choose Topic for Base type. Accept all defaults proposed.
1.1- In case there is no suitable local queue to be used as destination for the subscription, create a new local queue.
2- Create a new Topic, giving values for Topic Name, Topic string (a valid one, no special characters, no duplicates), Description, choose SYSTEM.DURABLE.MODEL.QUEUE and SYSTEM.NDURABLE.MODEL.QUEUE. Accept all defaults proposed.
3- Create a new subscription, giving values for Subscription Name, Topic Name, leaving Topic String empty, and filling Destination Name with the local queue mentioned in 1.1.
4- Put a message into the alias queue created in step 1. Message AMQ4477. The topic string supplied is invalid. When you click on details you have:
Explanation: A topic string was missing or contained invalid characters.
Response: Ensure a topic string has been defined and that there are no invalid characters in the topic string.
5- Edit the Alias Queue properties to enter an invalid Base Object.
6- Put a message into the alias queue modified in step 5. Message AMQ4479. An MQOPEN or MQPUT1 call was issued, specifying an alias queue as the target, but the BaseObjectName in the alias queue attributes was not recognized as a queue or topic name. When you click on details you have:
Explanation: This error can also occur when BaseObjectName is the name of a cluster queue that cannot be resolved successfully.
Response: Correct the queue definitions.
Kind regards.
Traditionally in MQ, In general, there are few checks on inter-object relationships at definition time. That's the case for tools like Explorer as well as command line MQSC.
This is therefore not something we would plan to implement.