code: private static boolean isQueueFullException(Throwable e) {
          if (e instanceof JMSException && e.getCause() != null) {
              if ("ActiveMQAddressFullException".equals(e.getCause().getClass().getSimpleName())) {
                  return true;
              }
          }
          return false;
      }
docs: /*
  When queue is full, ActiveMQ/Artemis throws an instance of org.apache.activemq.artemis.api.core.ActiveMQAddressFullException
  In order to avoid hard dependency on that API for this check, we detect that queue is full by analyzing the name of the thrown exception.
  
  @param e throwable thrown when JMS message delivery fails
  @return true if exceptions represents state when queue is full; false otherwise