@Override
    public void eventPostRollbackRemove(Transaction transaction) throws SevereMessageStoreException
    {
        super.eventPostRollbackRemove(transaction);
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(
                        tc,
                        "eventPostRollbackRemove",
                        new Object[] { transaction });

        if (failedInitInRestore)
        {
            //we can only register the listeners if we are fully initialized
            if (stream instanceof DurableSubscriptionItemStream)
            {
                stream.registerListeners(this);
            }
            failedInitInRestore = false;
        }

        /**
         * Message was rolled back. Call the handleUndeliverableMessage routine on the
         * consumer. This may or may not redirect the message depending on the cicumstances
         * of the delivery
         */

        // TODO : wrap in an if statement ?

        // consumerPoint.handleUndeliverableMessage(this, null);                                 

        try
        {
            if (POST_ROLLBACK_REMOVE_4 != null)
            {
                POST_ROLLBACK_REMOVE_4.messageEventOccurred(MessageEvents.POST_ROLLBACK_REMOVE, this, transaction);
            }
            if (POST_ROLLBACK_REMOVE_3 != null)
            {
                POST_ROLLBACK_REMOVE_3.messageEventOccurred(MessageEvents.POST_ROLLBACK_REMOVE, this, transaction);
            }
            if (POST_ROLLBACK_REMOVE_2 != null)
            {
                POST_ROLLBACK_REMOVE_2.messageEventOccurred(MessageEvents.POST_ROLLBACK_REMOVE, this, transaction);
            }
            if (POST_ROLLBACK_REMOVE_1 != null)
            {
                POST_ROLLBACK_REMOVE_1.messageEventOccurred(MessageEvents.POST_ROLLBACK_REMOVE, this, transaction);
            }
        } catch (SIException e)
        {
            FFDCFilter.processException(
                                        e,
                                        "com.ibm.ws.sib.processor.impl.store.items.MessageItemReference.eventPostRollbackRemove",
                                        "1:553:1.147",
                                        this);

            SibTr.exception(tc, e);

            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                SibTr.exit(tc, "eventPostRollbackRemove", e);

            throw new SIErrorException(e);
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "eventPostRollbackRemove");
    }
@ Override public void eventPostRollbackRemove ( Transaction transaction ) throws SevereMessageStoreException { super . eventPostRollbackRemove ( transaction ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "eventPostRollbackRemove" , new Object [ ] { transaction } ) ; if ( failedInitInRestore ) { if ( stream instanceof DurableSubscriptionItemStream ) { stream . registerListeners ( this ) ; } failedInitInRestore = false ; } try { if ( POST_ROLLBACK_REMOVE_4 != null ) { POST_ROLLBACK_REMOVE_4 . messageEventOccurred ( MessageEvents . POST_ROLLBACK_REMOVE , this , transaction ) ; } if ( POST_ROLLBACK_REMOVE_3 != null ) { POST_ROLLBACK_REMOVE_3 . messageEventOccurred ( MessageEvents . POST_ROLLBACK_REMOVE , this , transaction ) ; } if ( POST_ROLLBACK_REMOVE_2 != null ) { POST_ROLLBACK_REMOVE_2 . messageEventOccurred ( MessageEvents . POST_ROLLBACK_REMOVE , this , transaction ) ; } if ( POST_ROLLBACK_REMOVE_1 != null ) { POST_ROLLBACK_REMOVE_1 . messageEventOccurred ( MessageEvents . POST_ROLLBACK_REMOVE , this , transaction ) ; } } catch ( SIException e ) { FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.impl.store.items.MessageItemReference.eventPostRollbackRemove" , "1:553:1.147" , this ) ; SibTr . exception ( tc , e ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "eventPostRollbackRemove" , e ) ; throw new SIErrorException ( e ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "eventPostRollbackRemove" ) ; }
/*
(non-Javadoc)

@see com.ibm.ws.sib.store.AbstractItem#eventPostRollbackRemove(com.ibm.ws.sib.msgstore.Transaction)