A message producer cannot be created for a physical destination; the client receives an exception.
Possible cause: A physical destination has been configured to allow only a limited number of producers.
One of the ways of avoiding the accumulation of messages on a physical destination is to limit the number of producers (maxNumProducers) that it supports.
To confirm this cause of the problem: Check the physical destination:
imqcmd query dst
(see Viewing Physical Destination Information). The output will show the current number of producers and the value of maxNumProducers. If the two values are the same, the number of producers has reached its configured limit. When a new producer is rejected by the broker, the broker returns the exception
ResourceAllocationException [C4088]: A JMS destination limit was reached
and makes the following entry in the broker log:
[B4183]: Producer can not be added to destination
To resolve the problem: Increase the value of the maxNumProducers property (see Updating Physical Destination Properties).
Possible cause: The user is not authorized to create a message producer due to settings in the access control file.
To confirm this cause of the problem: When a new producer is rejected by the broker, the broker returns the exception
JMSSecurityException [C4076]: Client does not have permission to create producer on destination
and makes the following entries in the broker log:
[B2041]: Producer on destination denied[B4051]: Forbidden guest.
To resolve the problem: Change the access control properties to allow the user to produce messages (see Authorization Rules for Physical Destinations).