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