public class QueuedStorage extends Object implements Storage
Modifier and Type | Field and Description |
---|---|
protected Storage |
delegate |
protected ExecutorService |
executor |
protected ExecutorService |
fileExecutor |
protected boolean |
isBackingStorageInProxy |
protected boolean |
isTimedStatements |
protected com.redhat.thermostat.shared.perflog.PerformanceLogFormatter |
perfLogFormatter |
Constructor and Description |
---|
QueuedStorage(Storage delegate) |
QueuedStorage(Storage delegate,
com.redhat.thermostat.shared.perflog.PerformanceLogFormatter perfLogFormatter) |
Modifier and Type | Method and Description |
---|---|
Connection |
getConnection()
Returns the Connection object that may be used to manage connections
to this Storage.
|
InputStream |
loadFile(String filename)
Load the file with the given name and return the data as an InputStream.
|
<T extends Pojo> |
prepareStatement(StatementDescriptor<T> desc)
Prepares the given statement for execution.
|
void |
purge(String agentId)
Drop all data related to the specified agent.
|
void |
registerCategory(Category<?> category)
Register the category into the Storage.
|
void |
saveFile(String filename,
InputStream data,
SaveFileListener listener)
Save the contents of the input stream as the given name.
|
void |
shutdown()
Shutdown the storage
|
protected final boolean isBackingStorageInProxy
protected final boolean isTimedStatements
protected final com.redhat.thermostat.shared.perflog.PerformanceLogFormatter perfLogFormatter
protected final Storage delegate
protected final ExecutorService executor
protected final ExecutorService fileExecutor
public QueuedStorage(Storage delegate)
public QueuedStorage(Storage delegate, com.redhat.thermostat.shared.perflog.PerformanceLogFormatter perfLogFormatter)
public void purge(String agentId)
Storage
public void saveFile(String filename, InputStream data, SaveFileListener listener)
Storage
saveFile
in interface Storage
filename
- The name to save this data stream as. This must be unique
across all machines and processes using the storage or it will
overwrite data.data
- The data to save.listener
- The listener is notified upon various events related to the
saving of the file. The types of events are defined by
SaveFileListener.EventTypes
Callers are responsible
for handling events appropriately via this listener, including
closing the InputStream when receiving an event indicating
that Storage is no longer using it (such as SAVE_COMPLETE or
EXCEPTION_OCCURRED).public InputStream loadFile(String filename)
Storage
loadFile
in interface Storage
InputStream
or null
if not found.public void registerCategory(Category<?> category)
Storage
registerCategory
in interface Storage
public <T extends Pojo> PreparedStatement<T> prepareStatement(StatementDescriptor<T> desc) throws DescriptorParsingException
Storage
prepareStatement
in interface Storage
desc
- The statement descriptor to prepare.PreparedStatement
if the given statement descriptor was
known and did not fail to parse.DescriptorParsingException
- If the descriptor string failed to parse.IllegalDescriptorException
- If storage refused to prepare a statement descriptor for
security reasons.public Connection getConnection()
Storage
getConnection
in interface Storage
Copyright © 2017. All rights reserved.