code: public void unlockAndDeliver( MessageLock lockRef ) throws JMSException
      {
      	MessageStore targetStore;
      	if (lockRef.getDeliveryMode() == DeliveryMode.NON_PERSISTENT)
      	    targetStore = volatileStore;
      	else
      	    targetStore = persistentStore;
      	
      	int handle = lockRef.getHandle();
      	AbstractMessage message = lockRef.getMessage();
      	synchronized (storeLock)
          {
      		targetStore.unlock(handle);
          }
      	sentToQueueCount.incrementAndGet();
      	
      	sendAvailabilityNotification(message);
      }
docs: Unlock a message.
  Listeners are automatically notified of the new message availability.