小编use*_*879的帖子

Spring Scheduled Task在集群环境中运行

我正在编写一个具有每60秒执行一次的cron作业的应用程序.应用程序配置为在需要时扩展到多个实例.我只想每60秒在一个实例上执行任务(在任何节点上).开箱即用,我无法找到解决方案,我很惊讶以前没有多次询问过.我使用的是Spring 4.1.6.

    <task:scheduled-tasks>
        <task:scheduled ref="beanName" method="execute" cron="0/60 * * * * *"/>
    </task:scheduled-tasks>
Run Code Online (Sandbox Code Playgroud)

spring spring-scheduled

74
推荐指数
4
解决办法
6万
查看次数

如何根据Java 8 Stream过滤器的输出计算百分比

我想获取一个作业列表(称为resultStream)并计算完全完成的作业百分比.

public class Job {
    private Date date;
    private String success;

    // Getter and setter and constructor.
}
Run Code Online (Sandbox Code Playgroud)

该列表包含以下内容:

new Job("TODAY", "YES");
new Job("TODAY", "YES");
new Job("YESTERDAY", "YES");
new Job("TODAY", "NO");
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的代码:

resultStream.stream().parallel().filter(result -> {
   if ("YES".contains(result.getSuccess())) {
       return true;         
   } else {
       return false;
   }
}).collect(groupingBy(Job::getDate, HashMap::new, counting()));
Run Code Online (Sandbox Code Playgroud)

这将返回一个HashMap(Date,Long),其中包含以下内容:
TODAY,2
YESTERDAY,1

我实际上想要以下结果:
今天,66%
YESTERDAY,100%

提前致谢.

java lambda java-8

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

标签 统计

java ×1

java-8 ×1

lambda ×1

spring ×1

spring-scheduled ×1