code: @Override
  	public final void close() throws JMSException
      {
      	externalAccessLock.writeLock().lock();
      	try
      	{
      		if (closed)
      			return;
      		closed = true;
      		onConsumerClose();
      	}
      	finally
      	{
      		externalAccessLock.writeLock().unlock();
      	}
      	onConsumerClosed();
      }
docs: /* (non-Javadoc)
  @see javax.jms.MessageProducer#close()