小编Pio*_*ski的帖子

Java 8流 - 对象的总和

假设我有一个在接口下面实现的对象列表:

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流实现相同的功能?

我正在玩一个定制的收藏家,但无法弄清楚一些简洁的解决方案.

java java-8 java-stream

18
推荐指数
1
解决办法
5274
查看次数

JPA,实体管理器,选择许多列并获取结果列表自定义对象

我如何获得自定义对象列表,如查询下面的结果:

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和类别中的产品数量的地图.

java hibernate jpa entitymanager jpa-2.0

16
推荐指数
1
解决办法
5万
查看次数

Docker Gelf 驱动程序自定义字段

我可以在 Docker 文档中看到:https : //docs.docker.com/config/containers/logging/gelf/

在 GELF 中,每条日志消息都是一个包含以下字段的字典:...您自己配置的任何自定义字段

这是否意味着此驱动程序支持自定义字段?

我想为每个 GELF 消息添加自定义字段环境。我怎样才能做到这一点?

docker graylog gelf

6
推荐指数
1
解决办法
507
查看次数

在 Spring Boot 3.2 中禁用示例支持以避免 Prometheus 报废指标问题

新的 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。

spring spring-boot prometheus micrometer micrometer-tracing

5
推荐指数
1
解决办法
2018
查看次数

同一个流中有多个接收器

我有一个像这样的流和两个接收器,但一次只使用一个:

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组合与广播非常相似,但是从头开始实现广播降低了我的代码的可读性,现在我只有简单的源,流和接收器,没有低级图形阶段.

你知道如何做到这一点的正确方法(背压和其他只使用一个水槽的东西)?

scala akka reactive-streams akka-stream

4
推荐指数
1
解决办法
2236
查看次数

用千分尺测量事件发生率

在 Dropwizard 中有类似meter的东西: httpsmark() ://metrics.dropwizard.io/3.1.0/getting-started/#meters 它让我只需通过调用指标上的方法 来测量事件的发生率。

我怎样才能在千分尺中做到这一点?

我可以使用计时器,但我不想将Timer.Sample对象传递到需要调用stop()方法的任何地方。

与 Dropwizard 相比,Micrometer 中另一个缺少的东西是可以包含文本消息的度量,如 Dropwizard 中的量规。

dropwizard micrometer spring-micrometer

3
推荐指数
1
解决办法
5511
查看次数

两个联接的JPQL联合

我有两个相关的实体,用户和消息.消息有两个字段,包含用户实体,收件人和发件人.

我可以执行两个联接的联合,我将用户从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 postgresql hibernate jpa jpql

0
推荐指数
1
解决办法
1820
查看次数