public class SolrRrdBackendFactory extends org.rrd4j.core.RrdBackendFactory implements SolrCloseable
RRD databases are identified by paths in the format solr:dbName
.
Typically the path will correspond to the name of metric or a group of metrics, eg:
solr:QUERY./select.requests
NOTE: Solr doesn't register instances of this factory in the static
registry RrdBackendFactory.registerFactory(RrdBackendFactory)
because
it's then impossible to manage its life-cycle.
Modifier and Type | Field and Description |
---|---|
static String |
DATA_FIELD |
static int |
DEFAULT_MAX_DBS |
static int |
DEFAULT_SYNC_PERIOD |
static String |
DOC_TYPE |
static String |
ID_PREFIX |
static String |
ID_SEP |
static String |
NAME |
static String |
URI_PREFIX |
Constructor and Description |
---|
SolrRrdBackendFactory(SolrClient solrClient,
String collection,
int syncPeriod,
TimeSource timeSource)
Create a factory.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canStore(URI uri) |
void |
close() |
boolean |
exists(String path)
Check for existence of a backend.
|
URI |
getCanonicalUri(URI uri) |
String |
getName() |
String |
getPath(URI uri) |
TimeSource |
getTimeSource() |
URI |
getUri(String path) |
boolean |
isClosed() |
boolean |
isPersistent() |
List<Pair<String,Long>> |
list(int maxLength)
List all available databases created by this node name
|
protected org.rrd4j.core.RrdBackend |
open(String path,
boolean readOnly)
Open (or get) a backend.
|
void |
remove(String path)
Remove a database.
|
void |
removeAll()
Remove all databases created by this node name.
|
void |
setPersistent(boolean persistent) |
protected boolean |
shouldValidateHeader(String path) |
addActiveFactories, addFactories, buildGenericUri, checkClosing, exists, findFactory, getDefaultFactory, getFactory, getRootUri, getScheme, registerAndSetAsDefaultFactory, registerFactory, resolve, setActiveFactories, setDefaultFactory, shouldValidateHeader
public static final int DEFAULT_SYNC_PERIOD
public static final int DEFAULT_MAX_DBS
public static final String NAME
public static final String URI_PREFIX
public static final String ID_SEP
public static final String ID_PREFIX
public static final String DOC_TYPE
public static final String DATA_FIELD
public SolrRrdBackendFactory(SolrClient solrClient, String collection, int syncPeriod, TimeSource timeSource)
solrClient
- SolrClient to usecollection
- collection name where documents are stored (typically this is
CollectionAdminParams.SYSTEM_COLL
)syncPeriod
- synchronization period in seconds - how often modified
databases are stored as updated Solr documentstimeSource
- time sourcepublic TimeSource getTimeSource()
public boolean canStore(URI uri)
canStore
in class org.rrd4j.core.RrdBackendFactory
public URI getCanonicalUri(URI uri)
getCanonicalUri
in class org.rrd4j.core.RrdBackendFactory
protected org.rrd4j.core.RrdBackend open(String path, boolean readOnly) throws IOException
open
in class org.rrd4j.core.RrdBackendFactory
path
- backend path (without URI scheme)readOnly
- if true then the backend will never be synchronized to Solr,
and updates will be silently ignored. Read-only backends can
be safely closed and discarded after use.IOException
- on Solr error when retrieving existing datapublic List<Pair<String,Long>> list(int maxLength) throws IOException
maxLength
- maximum number of results to returnIOException
- on server errorspublic void removeAll() throws IOException
IOException
- on server errorpublic void remove(String path) throws IOException
path
- database path.IOException
- on Solr exceptionpublic boolean exists(String path) throws IOException
exists
in class org.rrd4j.core.RrdBackendFactory
path
- backend path, without the URI schemesyncPeriod
.IOException
- on Solr exceptionpublic boolean isPersistent()
public void setPersistent(boolean persistent)
protected boolean shouldValidateHeader(String path) throws IOException
shouldValidateHeader
in class org.rrd4j.core.RrdBackendFactory
IOException
public String getName()
getName
in class org.rrd4j.core.RrdBackendFactory
public boolean isClosed()
isClosed
in interface SolrCloseable
public void close()
close
in interface Closeable
close
in interface AutoCloseable
close
in class org.rrd4j.core.RrdBackendFactory
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.