假设我有一个在接口下面实现的对象列表:
public interface Summable<T> {
T add(T o1);
}
Run Code Online (Sandbox Code Playgroud)
假设我还有一些能够对这些对象求和的类:
public class Calculator<T extends Summable<T>> {
public T sum(final List<T> objects) {
if (null == objects) {
throw new IllegalArgumentException("Ups, list of objects cannot be null!");
}
T resultObject = null;
for (T object : objects) {
resultObject = object.add(resultObject);
}
return resultObject;
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用Java 8流实现相同的功能?
我正在玩一个定制的收藏家,但无法弄清楚一些简洁的解决方案.
我如何获得自定义对象列表,如查询下面的结果:
SELECT p.category.id, count(p.id) FROM Product p left join p.category c WHERE p.seller.id=:id GROUP BY c.id
Run Code Online (Sandbox Code Playgroud)
举例:
return getEntityManager().createQuery("SELECT p.category.id, count(p.id) FROM Product p left join p.category c WHERE p.seller.id=:id GROUP BY c.id").setParameter("id", id).getResultList();
Run Code Online (Sandbox Code Playgroud)
我需要一张类别ID和类别中的产品数量的地图.
我可以在 Docker 文档中看到:https : //docs.docker.com/config/containers/logging/gelf/
在 GELF 中,每条日志消息都是一个包含以下字段的字典:...您自己配置的任何自定义字段
这是否意味着此驱动程序支持自定义字段?
我想为每个 GELF 消息添加自定义字段环境。我怎样才能做到这一点?
新的 Spring Boot 添加了范例支持: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes#broader-exemplar-support-in-micrometer-112
升级到 Spring Boot 3.2.0 后,Prometheus 停止从我们的应用程序中废弃指标,因为它需要 Prometheus 版本 2.43.0 或更高版本:
metric name web_client_requests_seconds_count does not support exemplars
我认为应该有一种方法可以禁用此功能,直到我们不再升级 Prometheus。
我有一个像这样的流和两个接收器,但一次只使用一个:
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink1)
Run Code Online (Sandbox Code Playgroud)
要么
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink2)
Run Code Online (Sandbox Code Playgroud)
它是可配置的我们使用的接收器,但是如果我并行使用两个接收器怎么办呢.我怎样才能做到这一点?
我想到了Sink.combine,但它还需要一个合并策略,我不想以任何方式结合这些接收器的结果.我并不真正关心它们,所以我只希望通过HTTP将相同的数据发送到某个端点,同时将它们发送到数据库.Sink组合与广播非常相似,但是从头开始实现广播降低了我的代码的可读性,现在我只有简单的源,流和接收器,没有低级图形阶段.
你知道如何做到这一点的正确方法(背压和其他只使用一个水槽的东西)?
在 Dropwizard 中有类似meter的东西:
httpsmark() ://metrics.dropwizard.io/3.1.0/getting-started/#meters 它让我只需通过调用指标上的方法
来测量事件的发生率。
我怎样才能在千分尺中做到这一点?
我可以使用计时器,但我不想将Timer.Sample对象传递到需要调用stop()方法的任何地方。
与 Dropwizard 相比,Micrometer 中另一个缺少的东西是可以包含文本消息的度量,如 Dropwizard 中的量规。
我有两个相关的实体,用户和消息.消息有两个字段,包含用户实体,收件人和发件人.
我可以执行两个联接的联合,我将用户从Message的两个字段中获取到一个结果列表吗?
例如:
(select u from Message m join m.recipient) union (select u from Message m join m.sender)
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.
问候
Piotr Kozlowski
java ×3
hibernate ×2
jpa ×2
micrometer ×2
akka ×1
akka-stream ×1
docker ×1
dropwizard ×1
gelf ×1
graylog ×1
java-8 ×1
java-stream ×1
jpa-2.0 ×1
jpql ×1
postgresql ×1
prometheus ×1
scala ×1
spring ×1
spring-boot ×1