public List<DataSlice> getPersistentData() throws PersistentDataEncodingException
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "getPersistentData");

    // this is going to be spilled, so if not already told ConsumerKey that it is locked
    // tell it now!
    synchronized (this)
    {
      if (!informedConsumerKeyThatLocked)
      {
        RemoteDispatchableKey dkey = key.getRemoteDispatchableKey();
        RemoteQPConsumerKey ck = null;
        if (dkey instanceof RemoteQPConsumerKey)
          ck = (RemoteQPConsumerKey) dkey;
        if (ck != null)
        {
          ck.messageLocked(key);
          informedConsumerKeyThatLocked = true;
        }
      }
      // set RemoteDispatchableKey to null so no one can inform the RemoteDispatchableKey about any state change
      // in this message in the future. If we did not do this, it is possible that an eventUnlocked()
      // call occurs after this method call and before the in-memory AIMessageItem object is discarded,
      // which would cause informedConsumerKeyThatLocked to be set to false and the ConsumerKey unlocked
      // count would be incremented.
      key.clearRemoteDispatchableKey();
    }

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

    return super.getPersistentData();
  }
public List < DataSlice > getPersistentData ( ) throws PersistentDataEncodingException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "getPersistentData" ) ; synchronized ( this ) { if ( ! informedConsumerKeyThatLocked ) { RemoteDispatchableKey dkey = key . getRemoteDispatchableKey ( ) ; RemoteQPConsumerKey ck = null ; if ( dkey instanceof RemoteQPConsumerKey ) ck = ( RemoteQPConsumerKey ) dkey ; if ( ck != null ) { ck . messageLocked ( key ) ; informedConsumerKeyThatLocked = true ; } } key . clearRemoteDispatchableKey ( ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "getPersistentData" ) ; return super . getPersistentData ( ) ; }
Feature SIB0112b.mp.1