Class L1LastChanceInterceptor

  • All Implemented Interfaces:
    org.infinispan.commands.Visitor, AsyncInterceptor

    public class L1LastChanceInterceptor
    extends org.infinispan.interceptors.impl.BaseRpcInterceptor
    L1 based interceptor that flushes the L1 cache at the end after a transaction/entry is committed to the data container but before the lock has been released. This is here to asynchronously clear any L1 cached values that were retrieved between when the data was updated, causing a L1 invalidation, and when the data was put into the data container
    Author:
    wburns
    • Constructor Detail

      • L1LastChanceInterceptor

        public L1LastChanceInterceptor()
    • Method Detail

      • start

        public void start()
      • visitPutKeyValueCommand

        public java.lang.Object visitPutKeyValueCommand​(InvocationContext ctx,
                                                        org.infinispan.commands.write.PutKeyValueCommand command)
                                                 throws java.lang.Throwable
        Specified by:
        visitPutKeyValueCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitPutKeyValueCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitReplaceCommand

        public java.lang.Object visitReplaceCommand​(InvocationContext ctx,
                                                    org.infinispan.commands.write.ReplaceCommand command)
                                             throws java.lang.Throwable
        Specified by:
        visitReplaceCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitReplaceCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitRemoveCommand

        public java.lang.Object visitRemoveCommand​(InvocationContext ctx,
                                                   org.infinispan.commands.write.RemoveCommand command)
                                            throws java.lang.Throwable
        Specified by:
        visitRemoveCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitRemoveCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitComputeCommand

        public java.lang.Object visitComputeCommand​(InvocationContext ctx,
                                                    org.infinispan.commands.write.ComputeCommand command)
                                             throws java.lang.Throwable
        Specified by:
        visitComputeCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitComputeCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitComputeIfAbsentCommand

        public java.lang.Object visitComputeIfAbsentCommand​(InvocationContext ctx,
                                                            org.infinispan.commands.write.ComputeIfAbsentCommand command)
                                                     throws java.lang.Throwable
        Specified by:
        visitComputeIfAbsentCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitComputeIfAbsentCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitWriteOnlyKeyCommand

        public java.lang.Object visitWriteOnlyKeyCommand​(InvocationContext ctx,
                                                         org.infinispan.commands.functional.WriteOnlyKeyCommand command)
                                                  throws java.lang.Throwable
        Specified by:
        visitWriteOnlyKeyCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitWriteOnlyKeyCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitReadWriteKeyValueCommand

        public java.lang.Object visitReadWriteKeyValueCommand​(InvocationContext ctx,
                                                              org.infinispan.commands.functional.ReadWriteKeyValueCommand command)
                                                       throws java.lang.Throwable
        Specified by:
        visitReadWriteKeyValueCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitReadWriteKeyValueCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitReadWriteKeyCommand

        public java.lang.Object visitReadWriteKeyCommand​(InvocationContext ctx,
                                                         org.infinispan.commands.functional.ReadWriteKeyCommand command)
                                                  throws java.lang.Throwable
        Specified by:
        visitReadWriteKeyCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitReadWriteKeyCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitWriteOnlyManyEntriesCommand

        public java.lang.Object visitWriteOnlyManyEntriesCommand​(InvocationContext ctx,
                                                                 org.infinispan.commands.functional.WriteOnlyManyEntriesCommand command)
                                                          throws java.lang.Throwable
        Specified by:
        visitWriteOnlyManyEntriesCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitWriteOnlyManyEntriesCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitWriteOnlyKeyValueCommand

        public java.lang.Object visitWriteOnlyKeyValueCommand​(InvocationContext ctx,
                                                              org.infinispan.commands.functional.WriteOnlyKeyValueCommand command)
                                                       throws java.lang.Throwable
        Specified by:
        visitWriteOnlyKeyValueCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitWriteOnlyKeyValueCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitWriteOnlyManyCommand

        public java.lang.Object visitWriteOnlyManyCommand​(InvocationContext ctx,
                                                          org.infinispan.commands.functional.WriteOnlyManyCommand command)
                                                   throws java.lang.Throwable
        Specified by:
        visitWriteOnlyManyCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitWriteOnlyManyCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitReadWriteManyCommand

        public java.lang.Object visitReadWriteManyCommand​(InvocationContext ctx,
                                                          org.infinispan.commands.functional.ReadWriteManyCommand command)
                                                   throws java.lang.Throwable
        Specified by:
        visitReadWriteManyCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitReadWriteManyCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitReadWriteManyEntriesCommand

        public java.lang.Object visitReadWriteManyEntriesCommand​(InvocationContext ctx,
                                                                 org.infinispan.commands.functional.ReadWriteManyEntriesCommand command)
                                                          throws java.lang.Throwable
        Specified by:
        visitReadWriteManyEntriesCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitReadWriteManyEntriesCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitDataWriteCommand

        public java.lang.Object visitDataWriteCommand​(InvocationContext ctx,
                                                      org.infinispan.commands.write.DataWriteCommand command,
                                                      boolean assumeOriginKeptEntryInL1)
                                               throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • visitPutMapCommand

        public java.lang.Object visitPutMapCommand​(InvocationContext ctx,
                                                   org.infinispan.commands.write.PutMapCommand command)
                                            throws java.lang.Throwable
        Specified by:
        visitPutMapCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitPutMapCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitPrepareCommand

        public java.lang.Object visitPrepareCommand​(org.infinispan.context.impl.TxInvocationContext ctx,
                                                    org.infinispan.commands.tx.PrepareCommand command)
                                             throws java.lang.Throwable
        Specified by:
        visitPrepareCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitPrepareCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • visitCommitCommand

        public java.lang.Object visitCommitCommand​(org.infinispan.context.impl.TxInvocationContext ctx,
                                                   org.infinispan.commands.tx.CommitCommand command)
                                            throws java.lang.Throwable
        Specified by:
        visitCommitCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitCommitCommand in class DDAsyncInterceptor
        Throws:
        java.lang.Throwable
      • getLog

        protected org.infinispan.util.logging.Log getLog()
        Specified by:
        getLog in class org.infinispan.interceptors.impl.BaseRpcInterceptor