Слияние кода завершено, страница обновится автоматически
Reactor + JSqlParser = ReactorQL
select name username from user
.count
,sum
,avg
,max
,min
.select val/100 percent from cpu_usage
.select sum(val) sum from topic group by interval('10s')
. 按时间分组.select count(1) total,productId,deviceId from messages group by productId,deviceId
.select avg(temp) avgTemp from temps group by interval('10s') having avgTemp>10
.select case type when 1 then '警告' when 2 then '故障' else '其他' end type from topic
.select t1.name,t2.detail from t1,t2 where t1.id = t2.id
.引入依赖
<dependency>
<groupId>org.jetlinks</groupId>
<artifactId>reactor-ql</artifactId>
<version>{version}</version>
</dependency>
用例:
ReactorQL.builder()
.sql("select avg(this) total from test group by interval('1s') having total > 2") //按每秒分组,并计算流中数据平均值,如果平均值大于2则下游收到数据.
.build()
.start(Flux.range(0, 10).delayElements(Duration.ofMillis(500)))
.doOnNext(System.out::println)
.as(StepVerifier::create)
.expectNextCount(4)
.verifyComplete();
更多用法请看 单元测试
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )