public class TXCache extends Cache implements Serializable
ex:
Cache cache = ...;
TXCache txCache = cache.getTXCache();
CacheTransaction tx = txCache.beginTransaction();
try{
cache.put("chave1", objeto1, 0, 0);
cache.remove("chave2");
cache.putIfAbsent("chave3", objeto3, 0, 0);
tx.commit();
}
catch(Throwable e){
tx.rollback();
}
config| Constructor and Description |
|---|
TXCache(BasicCache cache)
Cria um cache transacional a partir de um cache.
|
TXCache(BasicCache cache,
CacheTransactionManager transactionManager)
Cria um cache transacional especificando o gestor transacional.
|
| Modifier and Type | Method and Description |
|---|---|
CacheTransaction |
beginTransaction()
Inicia uma transação.
|
Object |
get(String key)
Obtém o valor associado à chave.
|
Object |
get(String key,
boolean forUpdate)
Obtém o valor associado à chave bloqueando ou não
seu acesso as demais transações.
|
long |
getCountRead()
Obtém a quantidade de itens recuperados.
|
long |
getCountReadData()
Obtém a quantidade de bytes recuperados.
|
long |
getCountRemoved()
Obtém a quantidade de itens removidos.
|
long |
getCountRemovedData()
Obtém a quantidade de bytes removidos.
|
long |
getCountWrite()
Obtém a quantidade de itens armazenados.
|
long |
getCountWriteData()
Obtém a quantidade de bytes armazenados.
|
InputStream |
getStream(String key)
Obtém o fluxo de bytes do valor associado à chave.
|
InputStream |
getStream(String key,
boolean forUpdate)
Obtém o fluxo de bytes do valor associado à chave bloqueando ou não
seu acesso as demais transações.
|
CacheTransactionManager |
getTransactionManager()
Obtém o gestor transacional.
|
long |
getTransactionTimeout()
Obtém o tempo limite de uma operação.
|
protected void |
init(long nodeBufferSize,
long nodePageSize,
double nodeSwapFactor,
long indexBufferSize,
long indexPageSize,
double indexSwapFactor,
long dataBufferSize,
long dataPageSize,
long blockSize,
double dataSwapFactor,
long maxSizeEntry,
int maxSizeKey,
Swapper swapper,
int quantitySwaperThread,
Memory memory)
Inicia o cache.
|
boolean |
put(String key,
Object value,
long timeToLive,
long timeToIdle)
Associa o valor à chave.
|
Object |
putIfAbsent(String key,
Object value,
long timeToLive,
long timeToIdle)
Associa o valor a chave somente se a chave não estiver associada a um valor.
|
InputStream |
putIfAbsentStream(String key,
InputStream inputData,
long timeToLive,
long timeToIdle)
Associa o fluxo de bytes do valor à chave somente se a chave não estiver associada a um valor.
|
boolean |
putStream(String key,
InputStream inputData,
long timeToLive,
long timeToIdle)
Associa o fluxo de bytes do valor à chave.
|
boolean |
remove(String key)
Remove o valor associado à chave.
|
boolean |
remove(String key,
Object value)
Remove o valor assoiado à chave somente se ele for igual a um determinado valor.
|
boolean |
replace(String key,
Object value,
long timeToLive,
long timeToIdle)
Substitui o valor associado à chave somente se ele existir.
|
boolean |
replace(String key,
Object oldValue,
Object newValue,
long timeToLive,
long timeToIdle)
Substitui o valor associado à chave somente se ele for igual a um determinado valor.
|
boolean |
replaceStream(String key,
InputStream inputData,
long timeToLive,
long timeToIdle)
Substitui o fluxo de bytes associado à chave somente se ele existir.
|
void |
setDeleteOnExit(boolean deleteOnExit)
Define que os arquivos contidos na pasta de dados sejam
destruidos junto com essa instância.
|
void |
setTransactionTimeout(long transactionTimeout)
Define o tempo limite de uma operação.
|
containsKey, isEmpty, sizegetConfig, getTXCache, getTXCacheclear, destroy, finalize, isDeleteOnExit, removeStreampublic TXCache(BasicCache cache)
cache - cache não transacional.public TXCache(BasicCache cache, CacheTransactionManager transactionManager)
cache - cache não transacional.transactionManager - gestor transacional.protected void init(long nodeBufferSize,
long nodePageSize,
double nodeSwapFactor,
long indexBufferSize,
long indexPageSize,
double indexSwapFactor,
long dataBufferSize,
long dataPageSize,
long blockSize,
double dataSwapFactor,
long maxSizeEntry,
int maxSizeKey,
Swapper swapper,
int quantitySwaperThread,
Memory memory)
StreamCacheinit in class StreamCachenodeBufferSize - Tamanho do buffer, em bytes, onde os nós ficarão armazenados.nodePageSize - Tamanho da página, em bytes, do buffer de nós.nodeSwapFactor - Fator de permuta dos nós.indexBufferSize - Tamanho do buffer, em bytes, onde os índices ficarão armazenados.indexPageSize - Tamanho da página, em bytes, do buffer de índices.indexSwapFactor - Fator de permuta dos índices.dataBufferSize - Tamanho do buffer, em bytes, onde os dados ficarão armazenados.dataPageSize - Tamanho da página, em bytes, do buffer de dados.blockSize - Tamanho do bloco, em bytes.dataSwapFactor - Fator de permuta dos dados.maxSizeEntry - Tamanho máximo de uma entrada no cache.maxSizeKey - Tamanho máximo de uma chave.swapper - Estratégia de troca dos dados entre a memória e outro dispositivo.quantitySwaperThread - Quantidade de processos usados para fazer a permuta.memory - Acesso à memória.public void setDeleteOnExit(boolean deleteOnExit)
StreamCachesetDeleteOnExit in class StreamCachedeleteOnExit - true para destruir todos os arquivos.
Caso contrário, false.public CacheTransactionManager getTransactionManager()
public long getTransactionTimeout()
public void setTransactionTimeout(long transactionTimeout)
transactionTimeout - tempo em milisegundos.public CacheTransaction beginTransaction()
public boolean replace(String key, Object value, long timeToLive, long timeToIdle) throws StorageException
replace in class Cachekey - chave associada ao valor.value - valor para ser associado à chave.timeToLive - é a quantidade máxima de tempo que um item expira após sua criação.timeToIdle - é a quantidade máxima de tempo que um item expira após o último acesso.StorageException - Lançada se ocorrer alguma falha ao tentar inserir o item.public boolean replaceStream(String key, InputStream inputData, long timeToLive, long timeToIdle) throws StorageException
replaceStream in class Cachekey - chave associada ao valor.timeToLive - é a quantidade máxima de tempo que um item expira após sua criação.timeToIdle - é a quantidade máxima de tempo que um item expira após o último acesso.inputData - fluxo de bytes do valor.true se o valor for substituido. Caso contrário, false.StorageException - Lançada se ocorrer alguma falha ao tentar inserir o item.public boolean replace(String key, Object oldValue, Object newValue, long timeToLive, long timeToIdle) throws StorageException
replace in class Cachekey - chave associada ao valor.oldValue - valor esperado associado à chave.newValue - valor para ser associado à chave.timeToLive - é a quantidade máxima de tempo que um item expira após sua criação.timeToIdle - é a quantidade máxima de tempo que um item expira após o último acesso.true se o valor for substituido. Caso contrário, false.StorageException - Lançada se ocorrer alguma falha ao tentar inserir o item.public Object putIfAbsent(String key, Object value, long timeToLive, long timeToIdle) throws StorageException
putIfAbsent in class Cachekey - chave associada ao valor.value - valor para ser associado à chave.timeToLive - é a quantidade máxima de tempo que um item expira após sua criação.timeToIdle - é a quantidade máxima de tempo que um item expira após o último acesso.StorageException - Lançada se ocorrer alguma falha ao tentar inserir o item ou se o item atual
expirar no momento da execução do método.public InputStream putIfAbsentStream(String key, InputStream inputData, long timeToLive, long timeToIdle) throws StorageException
putIfAbsentStream in class Cachekey - chave associada ao valor.timeToLive - é a quantidade máxima de tempo que um item expira após sua criação.timeToIdle - é a quantidade máxima de tempo que um item expira após o último acesso.inputData - fluxo de bytes do valor.null.StorageException - Lançada se ocorrer alguma falha ao tentar inserir o item.public boolean put(String key, Object value, long timeToLive, long timeToIdle) throws StorageException
put in class Cachekey - chave associada ao valor.value - valor para ser associado à chave.timeToLive - é a quantidade máxima de tempo que um item expira após sua criação.timeToIdle - é a quantidade máxima de tempo que um item expira após o último acesso.true se o item for substituido. Caso contrário, falseStorageException - Lançada se ocorrer alguma falha ao tentar inserir o item.public boolean putStream(String key, InputStream inputData, long timeToLive, long timeToIdle) throws StorageException
putStream in class Cachekey - chave associada ao fluxo.timeToLive - é a quantidade máxima de tempo que um item expira após sua criação.timeToIdle - é a quantidade máxima de tempo que um item expira após o último acesso.inputData - fluxo de bytes do valor.true se o item for substituido. Caso contrário, falseStorageException - Lançada se ocorrer alguma falha ao tentar inserir o item.public Object get(String key) throws RecoverException
get in class Cachekey - chave associada ao valor.null.RecoverException - Lançada se ocorrer alguma falha ao tentar obter o
item.public Object get(String key, boolean forUpdate) throws RecoverException
key - chave associada ao valor.forUpdate - true para bloquear o item. Caso contrário false.null.RecoverException - Lançada se ocorrer alguma falha ao tentar obter o
item.public InputStream getStream(String key) throws RecoverException
getStream in class Cachekey - chave associada ao fluxo.null.RecoverException - Lançada se ocorrer alguma falha ao tentar obter o
item.public InputStream getStream(String key, boolean forUpdate) throws RecoverException
key - chave associada ao fluxo.forUpdate - true para bloquear o item. Caso contrário false.null.RecoverException - Lançada se ocorrer alguma falha ao tentar obter o
item.public boolean remove(String key, Object value) throws StorageException
remove in class Cachekey - chave associada ao valor.value - valor esperado associado à chave.StorageException - Lançada se ocorrer alguma falha ao tentar remover o
item.public boolean remove(String key) throws StorageException
remove in class Cachekey - chave associada ao valor.true se o valor for removido. Caso contrário, false.StorageException - Lançada se ocorrer alguma falha ao tentar remover o
item.public long getCountRead()
getCountRead in class StreamCachepublic long getCountWrite()
getCountWrite in class StreamCachepublic long getCountRemoved()
getCountRemoved in class StreamCachepublic long getCountReadData()
getCountReadData in class StreamCachepublic long getCountWriteData()
getCountWriteData in class StreamCachepublic long getCountRemovedData()
getCountRemovedData in class StreamCacheCopyright © 2016. All rights reserved.