private void restoreJsMessageFromMsgstore(boolean throwExceptionIfNotAvailable)
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        {
            SibTr.entry(this, tc, "restoreJsMessageFromMsgstore", Boolean.valueOf(throwExceptionIfNotAvailable));
        }
        restoringJsMessageOnly = true;

        // Call a new msgstore method on the Item (?) that will tell msgstore
        // to restore the item
        try
        {
            restoreData(throwExceptionIfNotAvailable);
        } catch (MessageStoreException e)
        {
            // No FFDC code needed
            // set msg as null when specified not to throw Exception when message not available
            if ((e instanceof NotInMessageStore) && !throwExceptionIfNotAvailable)
            {
                msg = null;
            }
            else
            {
                // This is bad, if we are here then we don't have our cache and the msgstore can't restore
                // the message for some reason.

                FFDCFilter.processException(
                                            e,
                                            "com.ibm.ws.sib.processor.impl.store.items.MessageItem.restoreJsMessageFromMsgstore",
                                            "1:3079:1.244.1.40",
                                            this);

                SibTr.exception(tc, e);

                SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0001",
                            new Object[] {
                                          "1:3086:1.244.1.40",
                                          SIMPUtils.getStackTrace(e)
                            });

                SIMPErrorException errorException =
                                new SIMPErrorException(
                                                nls.getFormattedMessage(
                                                                        "INTERNAL_MESSAGING_ERROR_CWSIP0001",
                                                                        new Object[] { "com.ibm.ws.sib.processor.impl.store.items.MessageItem", "1:3094:1.244.1.40" },
                                                                        null));

                // TODO : For now we throw a runtime here but we need to look at the stack to see
                // what this means.

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

                throw errorException;
            }
        } finally
        {
            restoringJsMessageOnly = false;
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        {
            SibTr.exit(this, tc, "restoreJsMessageFromMsgstore", msg);
        }
    }
private void restoreJsMessageFromMsgstore ( boolean throwExceptionIfNotAvailable ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { SibTr . entry ( this , tc , "restoreJsMessageFromMsgstore" , Boolean . valueOf ( throwExceptionIfNotAvailable ) ) ; } restoringJsMessageOnly = true ; try { restoreData ( throwExceptionIfNotAvailable ) ; } catch ( MessageStoreException e ) { if ( ( e instanceof NotInMessageStore ) && ! throwExceptionIfNotAvailable ) { msg = null ; } else { FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.impl.store.items.MessageItem.restoreJsMessageFromMsgstore" , "1:3079:1.244.1.40" , this ) ; SibTr . exception ( tc , e ) ; SibTr . error ( tc , "INTERNAL_MESSAGING_ERROR_CWSIP0001" , new Object [ ] { "1:3086:1.244.1.40" , SIMPUtils . getStackTrace ( e ) } ) ; SIMPErrorException errorException = new SIMPErrorException ( nls . getFormattedMessage ( "INTERNAL_MESSAGING_ERROR_CWSIP0001" , new Object [ ] { "com.ibm.ws.sib.processor.impl.store.items.MessageItem" , "1:3094:1.244.1.40" } , null ) ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "restoreJsMessageFromMsgstore" , e ) ; throw errorException ; } } finally { restoringJsMessageOnly = false ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { SibTr . exit ( this , tc , "restoreJsMessageFromMsgstore" , msg ) ; } }
/*
Restores the JsMessage from the msgstore.

@param throwExceptionIfNotAvailable Boolean to indicate whether exception
has to be thrown if message not available
Throws SIMPErrorException if the restore failed