public final boolean removeDeliveryDelayable(DeliveryDelayable deliveryDelayable) throws SevereMessageStoreException
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        {
            SibTr.entry(tc, "removeDeliveryDelayable",
                        "objId="
                                        + (deliveryDelayable == null ? "null" : String.valueOf(deliveryDelayable.deliveryDelayableGetID()))
                                        + " ET="
                                        + (deliveryDelayable == null ? "null" : String.valueOf(deliveryDelayable.deliveryDelayableGetDeliveryDelayTime()))
                                        + " addEnabled="
                                        + addEnabled);
        }

        boolean reply = false;
        boolean cancelled = false;
        // Ignore this request if the DeliveryDelayManager has ended or the given entry is null
        synchronized (lockObject)
        {
            if (addEnabled && deliveryDelayable != null)
            {
                long deliveryDelay = deliveryDelayable.deliveryDelayableGetDeliveryDelayTime();
                DeliveryDelayableReference delayedDeliverableRef = new DeliveryDelayableReference(deliveryDelayable);
                delayedDeliverableRef.setDeliveryDelayTime(deliveryDelay);
                // Remove the DeliveryDelayable from the deliveryDelay index
                reply = deliveryDelayIndex.remove(delayedDeliverableRef);
                if (reply && deliveryDelayIndex.size() <= 0) // We just removed the last entry
                {
                    if (deliveryDelayAlarm != null)
                    {
                        deliveryDelayAlarm.cancel();
                        alarmScheduled = false;
                        cancelled = true;
                    }
                }

            }
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(this, tc, "removeDeliveryDelayable", "deliveryDelayIndexSize=" + deliveryDelayIndex.size() + " reply=" + reply + " cancelled=" + cancelled);
        return reply;
    }
public final boolean removeDeliveryDelayable ( DeliveryDelayable deliveryDelayable ) throws SevereMessageStoreException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { SibTr . entry ( tc , "removeDeliveryDelayable" , "objId=" + ( deliveryDelayable == null ? "null" : String . valueOf ( deliveryDelayable . deliveryDelayableGetID ( ) ) ) + " ET=" + ( deliveryDelayable == null ? "null" : String . valueOf ( deliveryDelayable . deliveryDelayableGetDeliveryDelayTime ( ) ) ) + " addEnabled=" + addEnabled ) ; } boolean reply = false ; boolean cancelled = false ; synchronized ( lockObject ) { if ( addEnabled && deliveryDelayable != null ) { long deliveryDelay = deliveryDelayable . deliveryDelayableGetDeliveryDelayTime ( ) ; DeliveryDelayableReference delayedDeliverableRef = new DeliveryDelayableReference ( deliveryDelayable ) ; delayedDeliverableRef . setDeliveryDelayTime ( deliveryDelay ) ; reply = deliveryDelayIndex . remove ( delayedDeliverableRef ) ; if ( reply && deliveryDelayIndex . size ( ) <= 0 ) { if ( deliveryDelayAlarm != null ) { deliveryDelayAlarm . cancel ( ) ; alarmScheduled = false ; cancelled = true ; } } } } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "removeDeliveryDelayable" , "deliveryDelayIndexSize=" + deliveryDelayIndex . size ( ) + " reply=" + reply + " cancelled=" + cancelled ) ; return reply ; }
Remove an DeliveryDelayable reference for an item from the deliveryDelay index.

@param deliveryDelayable the DeliveryDelayable item for which a reference is to be removed from the deliveryDelay index.
@return true if the reference was removed from the index, false otherwise.
@throws SevereMessageStoreException