public class RrdDbPool extends Object
Modifier and Type | Field and Description |
---|---|
static int |
INITIAL_CAPACITY
Initial capacity of the pool i.e.
|
Modifier and Type | Method and Description |
---|---|
int |
getCapacity()
Returns the maximum number of simultaneously open RRD files.
|
static RrdDbPool |
getInstance()
Creates a single instance of the class on the first call, or returns already existing one.
|
int |
getOpenFileCount()
Returns the number of open RRD files.
|
String[] |
getOpenFiles()
Returns an array of open file names.
|
void |
release(RrdDb rrdDb)
Releases RrdDb reference previously obtained from the pool.
|
RrdDb |
requestRrdDb(RrdDef rrdDef)
Requests a RrdDb reference for the given RRD file definition object.
|
RrdDb |
requestRrdDb(String path)
Requests a RrdDb reference for the given RRD file path.
|
RrdDb |
requestRrdDb(String path,
String sourcePath)
Requests a RrdDb reference for the given path.
|
void |
setCapacity(int capacity)
Sets the maximum number of simultaneously open RRD files.
|
public static final int INITIAL_CAPACITY
public static RrdDbPool getInstance() throws RrdException
RrdException
- Thrown if the default RRD backend is not derived from the RrdFileBackendFactory
public RrdDb requestRrdDb(String path) throws IOException, RrdException
INITIAL_CAPACITY
, the file will be open and a new RrdDb reference will be returned.
If the file is not already open and the number of already open RRD files is equal to
INITIAL_CAPACITY
, the method blocks until some RRD file is closed.
path
- Path to existing RRD fileIOException
- Thrown in case of I/O errorRrdException
- Thrown in case of JRobin specific errorpublic RrdDb requestRrdDb(RrdDef rrdDef) throws IOException, RrdException
INITIAL_CAPACITY
, a new RRD file will be created and a its RrdDb reference will be returned.
If the file is not already open and the number of already open RRD files is equal to
INITIAL_CAPACITY
, the method blocks until some RRD file is closed.
rrdDef
- Definition of the RRD file to be createdIOException
- Thrown in case of I/O errorRrdException
- Thrown in case of JRobin specific errorpublic RrdDb requestRrdDb(String path, String sourcePath) throws IOException, RrdException, RrdException
INITIAL_CAPACITY
, a new RRD file will be created and a its RrdDb reference will be returned.
If the file is not already open and the number of already open RRD files is equal to
INITIAL_CAPACITY
, the method blocks until some RRD file is closed.
path
- Path to RRD file which should be createdsourcePath
- Path to external data which is to be converted to JRobin's native RRD file formatIOException
- Thrown in case of I/O errorRrdException
- Thrown in case of JRobin specific errorpublic void release(RrdDb rrdDb) throws IOException, RrdException
rrdDb
- RrdDb reference to be returned to the poolIOException
- Thrown in case of I/O errorRrdException
- Thrown in case of JRobin specific errorpublic int getCapacity()
public void setCapacity(int capacity)
capacity
- Maximum number of simultaneously open RRD files.public String[] getOpenFiles()
public int getOpenFileCount()