public synchronized void close() throws JMSException {
  if (m_closed) {
    return;
  }
  if (_logger.isLoggable(Level.FINE)) {
    _logger.fine("GSMessageProducerImpl.close(): " + toString());
  }
  m_session.removeProducer(this);
  m_session=null;
  m_closed=true;
}

public synchronized void close ( ) throws JMSException { if ( m_closed ) { return ; } if ( _logger . isLoggable ( Level . FINE ) ) { _logger . fine ( "GSMessageProducerImpl.close(): " + toString ( ) ) ; } m_session . removeProducer ( this ) ; m_session = null ; m_closed = true ; }
cancels the ackdataentry notify delegator , using its lease . cancel ( ) also it removes the current producer from the producers list held by the m_session .
