public class RrdDbPool extends Object
It's much more scalable than the previous pool
Modifier and Type | Field and Description |
---|---|
static int |
INITIAL_CAPACITY
Initial capacity of the pool i.e. maximum number of simultaneously open RRD files.
|
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 |
getOpenCount(RrdDb rrdDb)
Returns the number of usage for a RRD.
|
int |
getOpenCount(String path)
Returns the number of usage for a RRD.
|
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 newCapacity)
Sets the maximum number of simultaneously open RRD files.
|
public static final int INITIAL_CAPACITY
public static RrdDbPool getInstance()
RuntimeException
- Thrown if the default RRD backend is not derived from the RrdFileBackendFactory
public int getOpenFileCount()
public String[] getOpenFiles()
public void release(RrdDb rrdDb) throws IOException
rrdDb
- RrdDb reference to be returned to the poolIOException
- Thrown in case of I/O errorpublic RrdDb requestRrdDb(String path) throws IOException
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 errorpublic RrdDb requestRrdDb(RrdDef rrdDef) throws IOException
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 errorpublic RrdDb requestRrdDb(String path, String sourcePath) throws IOException
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 Rrd4j's native RRD file formatIOException
- Thrown in case of I/O errorpublic void setCapacity(int newCapacity)
capacity
- Maximum number of simultaneously open RRD files.public int getCapacity()
public int getOpenCount(RrdDb rrdDb) throws IOException
rrdDb
- RrdDb reference for which informations is needed.IOException
- if any.public int getOpenCount(String path) throws IOException
path
- RRD file for which informations is needed.IOException
- if any.Copyright © 2015. All rights reserved.