本文整理了Java中org.influxdb.InfluxDB.query()
方法的一些代码示例,展示了InfluxDB.query()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。InfluxDB.query()
方法的具体详情如下:
包路径:org.influxdb.InfluxDB
类名称:InfluxDB
方法名:query
[英]Execute a query against a database.
[中]对数据库执行查询。
代码示例来源:origin: apache/nifi
protected List<QueryResult> executeQuery(final ProcessContext context, String database, String query, TimeUnit timeunit,
int chunkSize) throws InterruptedException {
final CountDownLatch latch = new CountDownLatch(1);
InfluxDB influx = getInfluxDB(context);
Query influxQuery = new Query(query, database);
if (chunkSize > 0) {
List<QueryResult> results = new LinkedList<>();
influx.query(influxQuery, chunkSize, result -> {
if (isQueryDone(result.getError())) {
latch.countDown();
} else {
results.add(result);
}
});
latch.await();
return results;
} else {
return Collections.singletonList(influx.query(influxQuery, timeunit));
}
}
代码示例来源:origin: testcontainers/testcontainers-java
@Test
public void queryForWriteAndRead() {
InfluxDB influxDB = influxDBContainer.getNewInfluxDB();
Point point = Point.measurement("cpu")
.time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
.addField("idle", 90L)
.addField("user", 9L)
.addField("system", 1L)
.build();
influxDB.write(point);
Query query = new Query("SELECT idle FROM cpu", DATABASE);
QueryResult actual = influxDB.query(query);
assertThat(actual, notNullValue());
assertThat(actual.getError(), nullValue());
assertThat(actual.getResults(), notNullValue());
assertThat(actual.getResults().size(), is(1));
}
}
代码示例来源:origin: influxdata/influxdb-java
public <T> List<T> query(final Query query, final Class<T> clazz) {
throwExceptionIfMissingAnnotation(clazz);
QueryResult queryResult = influxDB.query(query);
return toPOJO(queryResult, clazz);
}
代码示例来源:origin: influxdata/influxdb-java
public <T> List<T> query(final Class<T> clazz) {
throwExceptionIfMissingAnnotation(clazz);
String measurement = getMeasurementName(clazz);
String database = getDatabaseName(clazz);
if ("[unassigned]".equals(database)) {
throw new IllegalArgumentException(
Measurement.class.getSimpleName()
+ " of class "
+ clazz.getName()
+ " should specify a database value for this operation");
}
QueryResult queryResult = influxDB.query(new Query("SELECT * FROM " + measurement, database));
return toPOJO(queryResult, clazz);
}
代码示例来源:origin: miwurster/spring-data-influxdb
@Override
public QueryResult query(final Query query, final TimeUnit timeUnit)
{
return getConnection().query(query, timeUnit);
}
代码示例来源:origin: miwurster/spring-data-influxdb
@Override
public void query(Query query, int chunkSize, Consumer<QueryResult> consumer)
{
getConnection().query(query, chunkSize, consumer);
}
代码示例来源:origin: org.apereo.cas/cas-server-support-influxdb-core
/**
* Query result.
*
* @param fields the fields
* @param measurement the table
* @param dbName the db name
* @return the query result
*/
public QueryResult query(final String fields, final String measurement, final String dbName) {
val filter = String.format("SELECT %s FROM %s", fields, measurement);
val query = new Query(filter, dbName);
return this.influxDb.query(query);
}
代码示例来源:origin: miwurster/spring-data-influxdb
@Override
public QueryResult query(final Query query)
{
return getConnection().query(query);
}
代码示例来源:origin: org.apache.camel/camel-influxdb
private void doQuery(Exchange exchange, String dataBaseName, String retentionPolicy) {
String query = calculateQuery(exchange);
Query influxdbQuery = new Query(query, dataBaseName);
QueryResult resultSet = connection.query(influxdbQuery);
MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true);
exchange.getOut().setBody(resultSet);
}
代码示例来源:origin: inspectIT/inspectIT
/**
* Executes the given query on the database.
*
* @param query
* the query to execute
* @return the result of this query
*/
public QueryResult query(String query) {
if ((query == null) || !isConnected()) {
return null;
}
if (log.isDebugEnabled()) {
log.debug("Execute query on InfluxDB: {}", query);
}
return influxDB.query(new Query(query, database));
}
代码示例来源:origin: org.influxdb/influxdb-java
public <T> List<T> query(final Query query, final Class<T> clazz) {
throwExceptionIfMissingAnnotation(clazz);
QueryResult queryResult = influxDB.query(query);
return toPOJO(queryResult, clazz);
}
代码示例来源:origin: org.influxdb/influxdb-java
public <T> List<T> query(final Class<T> clazz) {
throwExceptionIfMissingAnnotation(clazz);
String measurement = getMeasurementName(clazz);
String database = getDatabaseName(clazz);
if ("[unassigned]".equals(database)) {
throw new IllegalArgumentException(
Measurement.class.getSimpleName()
+ " of class "
+ clazz.getName()
+ " should specify a database value for this operation");
}
QueryResult queryResult = influxDB.query(new Query("SELECT * FROM " + measurement, database));
return toPOJO(queryResult, clazz);
}
代码示例来源:origin: inspectIT/inspectIT
/**
* Executes a write operation to test the connection.
*
* @return <code>true</code> if the write operation was successful.
*/
private boolean executeWriteTest() {
Point point = Point.measurement(DUMMY_MEASUREMENT).addField("write_check", true).build();
try {
influxDB.write(database, retentionPolicy, point);
influxDB.query(new Query("DROP SERIES FROM " + DUMMY_MEASUREMENT, database));
} catch (Exception ex) {
if (log.isDebugEnabled()) {
log.debug("Test-write failed with the following message: " + ex.getMessage());
}
return false;
}
return true;
}
代码示例来源:origin: sitewhere/sitewhere
/**
* Get responses for a command invocation.
*
* @param originatingEventId
* @param influx
* @param database
* @return
* @throws SiteWhereException
*/
public static SearchResults<IDeviceCommandResponse> getResponsesForInvocation(UUID originatingEventId,
InfluxDB influx, String database) throws SiteWhereException {
Query query = queryResponsesForInvocation(originatingEventId, database);
QueryResult response = influx.query(query, TimeUnit.MILLISECONDS);
List<IDeviceCommandResponse> results = InfluxDbDeviceEvent.eventsOfType(response, IDeviceCommandResponse.class);
Query countQuery = queryResponsesForInvocationCount(originatingEventId, database);
QueryResult countResponse = influx.query(countQuery);
long count = InfluxDbDeviceEvent.parseCount(countResponse);
return new SearchResults<IDeviceCommandResponse>(results, count);
}
代码示例来源:origin: sitewhere/sitewhere
/**
* Get an event by unique id.
*
* @param eventId
* @param client
* @return
* @throws SiteWhereException
*/
public static IDeviceEvent getEventById(UUID eventId, InfluxDbClient client) throws SiteWhereException {
Query query = new Query(
"SELECT * FROM " + InfluxDbDeviceEvent.COLLECTION_EVENTS + " where " + EVENT_ID + "='" + eventId + "'",
client.getDatabase().getValue());
QueryResult response = client.getInflux().query(query, TimeUnit.MILLISECONDS);
List<IDeviceEvent> results = InfluxDbDeviceEvent.eventsOfType(response, IDeviceEvent.class);
if (results.size() > 0) {
return results.get(0);
}
return null;
}
代码示例来源:origin: inspectIT/inspectIT
@Test
public void enableInflux() {
influxDao.active = true;
influxDao.propertiesUpdated();
assertThat(influxDao.isConnected(), is(true));
assertThat(influxDao.getServiceType(), is(ExternalServiceType.INFLUXDB));
assertThat(influxDao.getServiceStatus(), is(ExternalServiceStatus.CONNECTED));
verify(executor, times(1)).submit(any(Runnable.class));
verify(influxDb).ping();
verify(influxDb).write(any(String.class), any(String.class), any(Point.class));
verify(influxDb).query(any(Query.class));
verify(influxDb).isBatchEnabled();
verify(influxDb).enableBatch(InfluxDBDao.BATCH_BUFFER_SIZE, InfluxDBDao.BATCH_FLUSH_TIMER, TimeUnit.SECONDS);
verify(availabilityChecker).deactivate();
verify(availabilityChecker).setInflux(influxDb);
verify(availabilityChecker).activate();
verify(clientFactory).createClient();
verifyNoMoreInteractions(influxDb, availabilityChecker, executor, clientFactory);
verifyZeroInteractions(future);
}
代码示例来源:origin: inspectIT/inspectIT
@Test
public void executeNullQuery() {
influxDao.active = true;
influxDao.propertiesUpdated();
influxDao.query(null);
assertThat(influxDao.isConnected(), is(true));
assertThat(influxDao.getServiceStatus(), is(ExternalServiceStatus.CONNECTED));
verify(influxDb).ping();
verify(influxDb).write(any(String.class), any(String.class), any(Point.class));
verify(influxDb).isBatchEnabled();
verify(influxDb).enableBatch(InfluxDBDao.BATCH_BUFFER_SIZE, InfluxDBDao.BATCH_FLUSH_TIMER, TimeUnit.SECONDS);
verify(influxDb).query(any(Query.class));
verify(executor).submit(any(Runnable.class));
verify(availabilityChecker).deactivate();
verify(availabilityChecker).setInflux(influxDb);
verify(availabilityChecker).activate();
verify(clientFactory).createClient();
verifyNoMoreInteractions(clientFactory, availabilityChecker, executor, influxDb);
verifyZeroInteractions(future);
}
代码示例来源:origin: inspectIT/inspectIT
@Test
public void executeQuery() {
influxDao.active = true;
influxDao.propertiesUpdated();
influxDao.query("myQuery");
assertThat(influxDao.isConnected(), is(true));
assertThat(influxDao.getServiceStatus(), is(ExternalServiceStatus.CONNECTED));
ArgumentCaptor<Query> queryCaptor = ArgumentCaptor.forClass(Query.class);
verify(influxDb, times(2)).query(queryCaptor.capture());
assertThat(queryCaptor.getValue().getCommand(), equalTo("myQuery"));
verify(influxDb).ping();
verify(influxDb).write(any(String.class), any(String.class), any(Point.class));
verify(influxDb).isBatchEnabled();
verify(influxDb).enableBatch(InfluxDBDao.BATCH_BUFFER_SIZE, InfluxDBDao.BATCH_FLUSH_TIMER, TimeUnit.SECONDS);
verify(executor).submit(any(Runnable.class));
verify(availabilityChecker).deactivate();
verify(availabilityChecker).setInflux(influxDb);
verify(availabilityChecker).activate();
verify(clientFactory).createClient();
verifyNoMoreInteractions(clientFactory, availabilityChecker, executor, influxDb);
verifyZeroInteractions(future);
}
代码示例来源:origin: inspectIT/inspectIT
@Test
public void enableInfluxDatabaseExists() {
influxDao.active = true;
when(influxDb.describeDatabases()).thenReturn(Arrays.asList(influxDao.database));
influxDao.propertiesUpdated();
assertThat(influxDao.isConnected(), is(true));
assertThat(influxDao.getServiceStatus(), is(ExternalServiceStatus.CONNECTED));
verify(executor, times(1)).submit(any(Runnable.class));
verify(influxDb).ping();
verify(influxDb).write(any(String.class), any(String.class), any(Point.class));
verify(influxDb).query(any(Query.class));
verify(influxDb).isBatchEnabled();
verify(influxDb).enableBatch(InfluxDBDao.BATCH_BUFFER_SIZE, InfluxDBDao.BATCH_FLUSH_TIMER, TimeUnit.SECONDS);
verify(availabilityChecker).deactivate();
verify(availabilityChecker).setInflux(influxDb);
verify(availabilityChecker).activate();
verify(clientFactory).createClient();
verifyNoMoreInteractions(influxDb, availabilityChecker, executor, clientFactory);
verifyZeroInteractions(future);
}
代码示例来源:origin: inspectIT/inspectIT
@Test
@SuppressWarnings("unchecked")
public void enableInfluxButNotAvailable() {
influxDao.active = true;
when(influxDb.ping()).thenThrow(Exception.class);
influxDao.propertiesUpdated();
assertThat(influxDao.isConnected(), is(false));
assertThat(influxDao.getServiceStatus(), is(ExternalServiceStatus.DISCONNECTED));
verify(executor, times(1)).submit(any(Runnable.class));
verify(influxDb).ping();
verify(influxDb).write(any(String.class), any(String.class), any(Point.class));
verify(influxDb).query(any(Query.class));
verify(influxDb).isBatchEnabled();
verify(influxDb).enableBatch(InfluxDBDao.BATCH_BUFFER_SIZE, InfluxDBDao.BATCH_FLUSH_TIMER, TimeUnit.SECONDS);
verify(availabilityChecker).deactivate();
verify(availabilityChecker).setInflux(influxDb);
verify(availabilityChecker).activate();
verify(clientFactory).createClient();
verifyNoMoreInteractions(influxDb, availabilityChecker, executor, clientFactory);
verifyZeroInteractions(future);
}
内容来源于网络,如有侵权,请联系作者删除!