public class org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue<K, V> extends org.ehcache.impl.internal.loaderwriter.writebehind.AbstractWriteBehind<K, V>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue
super_class: org.ehcache.impl.internal.loaderwriter.writebehind.AbstractWriteBehind
{
private static final org.slf4j.Logger LOGGER;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.ehcache.spi.loaderwriter.CacheLoaderWriter<K, V> cacheLoaderWriter;
descriptor: Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter<TK;TV;>;
private final java.util.concurrent.ConcurrentMap<K, org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation<K, V>> latest;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<TK;Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation<TK;TV;>;>;
private final java.util.concurrent.BlockingQueue<java.lang.Runnable> executorQueue;
descriptor: Ljava/util/concurrent/BlockingQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;
private final java.util.concurrent.ExecutorService executor;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ScheduledExecutorService scheduledExecutor;
descriptor: Ljava/util/concurrent/ScheduledExecutorService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxWriteDelayMs;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int batchSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean coalescing;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue<K, V>.Batch openBatch;
descriptor: Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>.Batch;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.LOGGER:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.ehcache.core.spi.service.ExecutionService, java.lang.String, org.ehcache.spi.loaderwriter.WriteBehindConfiguration<?>, org.ehcache.spi.loaderwriter.CacheLoaderWriter<K, V>);
descriptor: (Lorg/ehcache/core/spi/service/ExecutionService;Ljava/lang/String;Lorg/ehcache/spi/loaderwriter/WriteBehindConfiguration;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.AbstractWriteBehind.<init>:(Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;)V
1: aload 0
new org.ehcache.impl.internal.concurrent.ConcurrentHashMap
dup
invokespecial org.ehcache.impl.internal.concurrent.ConcurrentHashMap.<init>:()V
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.latest:Ljava/util/concurrent/ConcurrentMap;
2: aload 0
aload 4
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.cacheLoaderWriter:Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter;
3: aload 3
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration.getBatchingConfiguration:()Lorg/ehcache/spi/loaderwriter/WriteBehindConfiguration$BatchingConfiguration;
astore 5
start local 5 4: aload 0
aload 5
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration$BatchingConfiguration.getMaxDelayUnit:()Ljava/util/concurrent/TimeUnit;
aload 5
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration$BatchingConfiguration.getMaxDelay:()J
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.maxWriteDelayMs:J
5: aload 0
aload 5
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration$BatchingConfiguration.getBatchSize:()I
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.batchSize:I
6: aload 0
aload 5
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration$BatchingConfiguration.isCoalescing:()Z
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.coalescing:Z
7: aload 0
new java.util.concurrent.LinkedBlockingQueue
dup
aload 3
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration.getMaxQueueSize:()I
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.batchSize:I
idiv
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:(I)V
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executorQueue:Ljava/util/concurrent/BlockingQueue;
8: aload 3
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration.getThreadPoolAlias:()Ljava/lang/String;
ifnonnull 11
9: aload 0
aload 1
aload 2
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executorQueue:Ljava/util/concurrent/BlockingQueue;
invokeinterface org.ehcache.core.spi.service.ExecutionService.getOrderedExecutor:(Ljava/lang/String;Ljava/util/concurrent/BlockingQueue;)Ljava/util/concurrent/ExecutorService;
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executor:Ljava/util/concurrent/ExecutorService;
10: goto 12
11: StackMap locals: org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue org.ehcache.core.spi.service.ExecutionService java.lang.String org.ehcache.spi.loaderwriter.WriteBehindConfiguration org.ehcache.spi.loaderwriter.CacheLoaderWriter org.ehcache.spi.loaderwriter.WriteBehindConfiguration$BatchingConfiguration
StackMap stack:
aload 0
aload 1
aload 3
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration.getThreadPoolAlias:()Ljava/lang/String;
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executorQueue:Ljava/util/concurrent/BlockingQueue;
invokeinterface org.ehcache.core.spi.service.ExecutionService.getOrderedExecutor:(Ljava/lang/String;Ljava/util/concurrent/BlockingQueue;)Ljava/util/concurrent/ExecutorService;
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executor:Ljava/util/concurrent/ExecutorService;
12: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration.getThreadPoolAlias:()Ljava/lang/String;
ifnonnull 15
13: aload 0
aload 1
aload 2
invokeinterface org.ehcache.core.spi.service.ExecutionService.getScheduledExecutor:(Ljava/lang/String;)Ljava/util/concurrent/ScheduledExecutorService;
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.scheduledExecutor:Ljava/util/concurrent/ScheduledExecutorService;
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokeinterface org.ehcache.spi.loaderwriter.WriteBehindConfiguration.getThreadPoolAlias:()Ljava/lang/String;
invokeinterface org.ehcache.core.spi.service.ExecutionService.getScheduledExecutor:(Ljava/lang/String;)Ljava/util/concurrent/ScheduledExecutorService;
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.scheduledExecutor:Ljava/util/concurrent/ScheduledExecutorService;
16: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
0 17 1 executionService Lorg/ehcache/core/spi/service/ExecutionService;
0 17 2 defaultThreadPool Ljava/lang/String;
0 17 3 config Lorg/ehcache/spi/loaderwriter/WriteBehindConfiguration<*>;
0 17 4 cacheLoaderWriter Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter<TK;TV;>;
4 17 5 batchingConfig Lorg/ehcache/spi/loaderwriter/WriteBehindConfiguration$BatchingConfiguration;
Signature: (Lorg/ehcache/core/spi/service/ExecutionService;Ljava/lang/String;Lorg/ehcache/spi/loaderwriter/WriteBehindConfiguration<*>;Lorg/ehcache/spi/loaderwriter/CacheLoaderWriter<TK;TV;>;)V
MethodParameters:
Name Flags
executionService
defaultThreadPool
config
cacheLoaderWriter
protected org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation<K, V> getOperation(K);
descriptor: (Ljava/lang/Object;)Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.latest:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
0 1 1 key TK;
Signature: (TK;)Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation<TK;TV;>;
MethodParameters:
Name Flags
key
protected void addOperation(org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation<K, V>);
descriptor: (Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.latest:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation.getKey:()Ljava/lang/Object;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
ifnonnull 4
3: aload 0
aload 0
invokevirtual org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.newBatch:()Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
4: StackMap locals: org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
aload 1
invokevirtual org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch.add:(Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation;)Z
ifeq 7
5: aload 0
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
invokevirtual org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.submit:(Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;)Ljava/util/concurrent/Future;
pop
6: aload 0
aconst_null
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
7: StackMap locals:
StackMap stack:
aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
0 12 1 operation Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation<TK;TV;>;
Exception table:
from to target type
2 8 9 any
9 10 9 any
Signature: (Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation<TK;TV;>;)V
MethodParameters:
Name Flags
operation
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
ifnull 4
2: aload 0
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
invokevirtual org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.submit:(Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;)Ljava/util/concurrent/Future;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.waitFor:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
pop
3: aload 0
aconst_null
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
4: StackMap locals: org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue
StackMap stack:
aload 1
monitorexit
5: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals: org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue
StackMap stack: java.util.concurrent.ExecutionException
astore 1
start local 1 9: getstatic org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.LOGGER:Lorg/slf4j/Logger;
ldc "Exception running batch on shutdown"
aload 1
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 10: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.scheduledExecutor:Ljava/util/concurrent/ScheduledExecutorService;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.shutdownNow:(Ljava/util/concurrent/ExecutorService;)V
11: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executor:Ljava/util/concurrent/ExecutorService;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.shutdown:(Ljava/util/concurrent/ExecutorService;)V
goto 18
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
13: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.scheduledExecutor:Ljava/util/concurrent/ScheduledExecutorService;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.shutdownNow:(Ljava/util/concurrent/ExecutorService;)V
14: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executor:Ljava/util/concurrent/ExecutorService;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.shutdown:(Ljava/util/concurrent/ExecutorService;)V
15: aload 2
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.scheduledExecutor:Ljava/util/concurrent/ScheduledExecutorService;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.shutdownNow:(Ljava/util/concurrent/ExecutorService;)V
17: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executor:Ljava/util/concurrent/ExecutorService;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.shutdown:(Ljava/util/concurrent/ExecutorService;)V
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
9 10 1 e Ljava/util/concurrent/ExecutionException;
Exception table:
from to target type
1 5 6 any
6 7 6 any
0 8 8 Class java.util.concurrent.ExecutionException
0 10 12 any
private org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue<K, V>.Batch newBatch();
descriptor: ()Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.coalescing:Z
ifeq 2
1: new org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$CoalescingBatch
dup
aload 0
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.batchSize:I
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$CoalescingBatch.<init>:(Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue;I)V
areturn
2: StackMap locals:
StackMap stack:
new org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$SimpleBatch
dup
aload 0
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.batchSize:I
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$SimpleBatch.<init>:(Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
Signature: ()Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>.Batch;
private java.util.concurrent.Future<?> submit(org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue<K, V>.Batch);
descriptor: (Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;)Ljava/util/concurrent/Future;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executor:Ljava/util/concurrent/ExecutorService;
aload 1
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
0 1 1 batch Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>.Batch;
Signature: (Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>.Batch;)Ljava/util/concurrent/Future<*>;
MethodParameters:
Name Flags
batch
public long getQueueSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
astore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.executorQueue:Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.size:()I
aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.batchSize:I
imul
aload 1
ifnonnull 2
iconst_0
goto 3
StackMap locals: org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch
StackMap stack: int
2: aload 1
invokevirtual org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch.size:()I
StackMap locals: org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch
StackMap stack: int int
3: iadd
i2l
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>;
1 4 1 snapshot Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue<TK;TV;>.Batch;
private static <K, V> java.util.List<org.ehcache.impl.internal.loaderwriter.writebehind.operations.BatchOperation<K, V>> createMonomorphicBatches(java.lang.Iterable<org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation<K, V>>);
descriptor: (Ljava/lang/Iterable;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 5: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 24
StackMap locals: java.lang.Iterable java.util.List java.util.Set java.util.Set java.util.List java.util.List top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation
astore 6
start local 6 7: aload 6
instanceof org.ehcache.impl.internal.loaderwriter.writebehind.operations.WriteOperation
ifeq 15
8: aload 2
aload 6
invokeinterface org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation.getKey:()Ljava/lang/Object;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 12
9: aload 1
new org.ehcache.impl.internal.loaderwriter.writebehind.operations.DeleteAllOperation
dup
aload 4
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.operations.DeleteAllOperation.<init>:(Ljava/lang/Iterable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
11: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
12: StackMap locals: java.lang.Iterable java.util.List java.util.Set java.util.Set java.util.List java.util.List org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation java.util.Iterator
StackMap stack:
aload 5
new java.util.AbstractMap$SimpleEntry
dup
aload 6
invokeinterface org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation.getKey:()Ljava/lang/Object;
aload 6
checkcast org.ehcache.impl.internal.loaderwriter.writebehind.operations.WriteOperation
invokevirtual org.ehcache.impl.internal.loaderwriter.writebehind.operations.WriteOperation.getValue:()Ljava/lang/Object;
invokespecial java.util.AbstractMap$SimpleEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 3
aload 6
invokeinterface org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation.getKey:()Ljava/lang/Object;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: goto 24
StackMap locals:
StackMap stack:
15: aload 6
instanceof org.ehcache.impl.internal.loaderwriter.writebehind.operations.DeleteOperation
ifeq 23
16: aload 3
aload 6
invokeinterface org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation.getKey:()Ljava/lang/Object;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 20
17: aload 1
new org.ehcache.impl.internal.loaderwriter.writebehind.operations.WriteAllOperation
dup
aload 5
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.operations.WriteAllOperation.<init>:(Ljava/lang/Iterable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
19: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
20: StackMap locals:
StackMap stack:
aload 4
aload 6
invokeinterface org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation.getKey:()Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: aload 2
aload 6
invokeinterface org.ehcache.impl.internal.loaderwriter.writebehind.operations.SingleOperation.getKey:()Ljava/lang/Object;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
22: goto 24
23: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 24: StackMap locals: java.lang.Iterable java.util.List java.util.Set java.util.Set java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
25: aload 5
invokeinterface java.util.List.isEmpty:()Z
ifne 27
26: aload 1
new org.ehcache.impl.internal.loaderwriter.writebehind.operations.WriteAllOperation
dup
aload 5
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.operations.WriteAllOperation.<init>:(Ljava/lang/Iterable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: StackMap locals: java.lang.Iterable java.util.List java.util.Set java.util.Set java.util.List java.util.List
StackMap stack:
aload 4
invokeinterface java.util.List.isEmpty:()Z
ifne 29
28: aload 1
new org.ehcache.impl.internal.loaderwriter.writebehind.operations.DeleteAllOperation
dup
aload 4
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.operations.DeleteAllOperation.<init>:(Ljava/lang/Iterable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals:
StackMap stack:
aload 1
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 batch Ljava/lang/Iterable<Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation<TK;TV;>;>;
1 30 1 closedBatches Ljava/util/List<Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/BatchOperation<TK;TV;>;>;
2 30 2 activeDeleteKeys Ljava/util/Set<TK;>;
3 30 3 activeWrittenKeys Ljava/util/Set<TK;>;
4 30 4 activeDeleteBatch Ljava/util/List<TK;>;
5 30 5 activeWriteBatch Ljava/util/List<Ljava/util/Map$Entry<TK;TV;>;>;
7 24 6 item Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Iterable<Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/SingleOperation<TK;TV;>;>;)Ljava/util/List<Lorg/ehcache/impl/internal/loaderwriter/writebehind/operations/BatchOperation<TK;TV;>;>;
MethodParameters:
Name Flags
batch
public java.lang.Object load(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.AbstractWriteBehind.load:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
public void delete(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.AbstractWriteBehind.delete:(Ljava/lang/Object;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws org.ehcache.spi.loaderwriter.CacheWritingException
public void write(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.AbstractWriteBehind.write:(Ljava/lang/Object;Ljava/lang/Object;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws org.ehcache.spi.loaderwriter.CacheWritingException
static org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch access$3(org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue);
descriptor: (Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue;)Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.util.concurrent.Future access$4(org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue, org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch);
descriptor: (Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue;Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;)Ljava/util/concurrent/Future;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.submit:(Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;)Ljava/util/concurrent/Future;
areturn
LocalVariableTable:
Start End Slot Name Signature
static void access$5(org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue, org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch);
descriptor: (Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue;Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
putfield org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue.openBatch:Lorg/ehcache/impl/internal/loaderwriter/writebehind/BatchingLocalHeapWriteBehindQueue$Batch;
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/ehcache/impl/internal/loaderwriter/writebehind/AbstractWriteBehind<TK;TV;>;
SourceFile: "BatchingLocalHeapWriteBehindQueue.java"
NestMembers:
org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$CoalescingBatch org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$SimpleBatch
InnerClasses:
public SimpleEntry = java.util.AbstractMap$SimpleEntry of java.util.AbstractMap
public abstract Entry = java.util.Map$Entry of java.util.Map
abstract Batch = org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$Batch of org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue
private CoalescingBatch = org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$CoalescingBatch of org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue
private SimpleBatch = org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue$SimpleBatch of org.ehcache.impl.internal.loaderwriter.writebehind.BatchingLocalHeapWriteBehindQueue
public abstract BatchingConfiguration = org.ehcache.spi.loaderwriter.WriteBehindConfiguration$BatchingConfiguration of org.ehcache.spi.loaderwriter.WriteBehindConfiguration