code: public void listen(String destName, String messageSelector, MessageListener callback)
              throws MessagingException {
          JMSDestination jmsDest = getJMSDestination(destName);
  
          // Set the caller as a topic subscriber or queue receiver as appropriate
          setupAsynchConsumer(jmsDest, messageSelector, callback);
  
          if (logger.isDebugEnabled()) {
              logger.debug("listen() - Asynchronous listen on destination " + destName);
          }
      }
docs: This is an asynchronous listen. The caller provides a JMS callback
  interface reference, and any messages received for the given destination
  are provided through the onMessage() callback method
  Messages will be filtered based on the provided message selector.