public class JdbcBinaryStore extends Object implements org.infinispan.persistence.spi.AdvancedLoadWriteStore
AdvancedLoadWriteStore
implementation that will store all the buckets as rows
in database, each row corresponding to a bucket. This is in contrast to JdbcStringBasedStore
which stores each StoredEntry as a row in the database. It is generally recommended to use JdbcStringBasedStore
whenever possible as it performs better. Please
read JdbcStringBasedStore
's javadoc for more details on this.
This class has the benefit of being able to store StoredEntries that do not have String keys, at the cost of coarser
grained access granularity, and inherently performance.
All the DB related configurations are described in .JdbcBinaryStoreConfiguration
.JdbcBinaryStoreConfiguration
,
JdbcStringBasedStore
Constructor and Description |
---|
JdbcBinaryStore() |
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
contains(Object key) |
boolean |
delete(Object key) |
void |
doConnectionFactoryInitialization(ConnectionFactory connectionFactory) |
Integer |
getBuckedId(Object key) |
JdbcBinaryStoreConfiguration |
getConfiguration() |
ConnectionFactory |
getConnectionFactory() |
TableManager |
getTableManager() |
protected boolean |
immediateLockForWriting(Integer key) |
void |
init(org.infinispan.persistence.spi.InitializationContext ctx) |
protected void |
insertBucket(org.infinispan.persistence.support.Bucket bucket) |
org.infinispan.marshall.core.MarshalledEntry |
load(Object key) |
protected org.infinispan.persistence.support.Bucket |
loadBucket(Integer bucketId) |
protected void |
lockBucketForReading(Integer bucket)
Acquires read lock on the given key.
|
protected void |
lockBucketForWriting(Integer key)
Acquires write lock on the given key.
|
void |
process(org.infinispan.filter.KeyFilter filter,
org.infinispan.persistence.spi.AdvancedCacheLoader.CacheLoaderTask task,
Executor executor,
boolean fetchValue,
boolean fetchMetadata) |
void |
purge(Executor threadPool,
org.infinispan.persistence.spi.AdvancedCacheWriter.PurgeListener task) |
protected boolean |
removeKeyFromBucket(Object key,
Integer bucketId) |
int |
size() |
void |
start() |
void |
stop() |
protected void |
storeInBucket(org.infinispan.marshall.core.MarshalledEntry me,
Integer bucketId) |
protected void |
unlock(Integer key)
Release the locks (either read or write).
|
protected void |
updateBucket(org.infinispan.persistence.support.Bucket bucket) |
void |
write(org.infinispan.marshall.core.MarshalledEntry entry) |
public void init(org.infinispan.persistence.spi.InitializationContext ctx)
init
in interface org.infinispan.persistence.spi.CacheLoader
init
in interface org.infinispan.persistence.spi.CacheWriter
public void start()
start
in interface org.infinispan.commons.api.Lifecycle
public void stop()
stop
in interface org.infinispan.commons.api.Lifecycle
public final void write(org.infinispan.marshall.core.MarshalledEntry entry)
write
in interface org.infinispan.persistence.spi.CacheWriter
public final org.infinispan.marshall.core.MarshalledEntry load(Object key)
load
in interface org.infinispan.persistence.spi.CacheLoader
public boolean contains(Object key)
contains
in interface org.infinispan.persistence.spi.CacheLoader
public final boolean delete(Object key)
delete
in interface org.infinispan.persistence.spi.CacheWriter
public void process(org.infinispan.filter.KeyFilter filter, org.infinispan.persistence.spi.AdvancedCacheLoader.CacheLoaderTask task, Executor executor, boolean fetchValue, boolean fetchMetadata)
process
in interface org.infinispan.persistence.spi.AdvancedCacheLoader
public void clear()
clear
in interface org.infinispan.persistence.spi.AdvancedCacheWriter
public int size()
size
in interface org.infinispan.persistence.spi.AdvancedCacheLoader
public void purge(Executor threadPool, org.infinispan.persistence.spi.AdvancedCacheWriter.PurgeListener task)
purge
in interface org.infinispan.persistence.spi.AdvancedCacheWriter
protected void insertBucket(org.infinispan.persistence.support.Bucket bucket)
protected void updateBucket(org.infinispan.persistence.support.Bucket bucket)
protected org.infinispan.persistence.support.Bucket loadBucket(Integer bucketId)
public ConnectionFactory getConnectionFactory()
public void doConnectionFactoryInitialization(ConnectionFactory connectionFactory)
public TableManager getTableManager()
protected void storeInBucket(org.infinispan.marshall.core.MarshalledEntry me, Integer bucketId)
protected final void unlock(Integer key)
protected final void lockBucketForWriting(Integer key)
protected final void lockBucketForReading(Integer bucket)
protected final boolean immediateLockForWriting(Integer key)
public JdbcBinaryStoreConfiguration getConfiguration()
Copyright © 2017 JBoss, a division of Red Hat. All rights reserved.