小编Nob*_*ita的帖子

如何在 Spring Boot 中验证类型“java.lang.Boolean”

我有一个布尔字段,我想验证它是否只有“真”或“假”作为值(不带引号)。但是这个字段也允许“真”或“假”作为我想限制的值(带引号)。

我尝试使用 @Pattern 注释来匹配这些值。但我有以下错误:

javax.validation.UnexpectedTypeException:HV000030:找不到约束“javax.validation.constraints.Pattern”验证类型“java.lang.Boolean”的验证器。检查“可重启”的配置

我的代码是:

@Pattern(regexp = "^(true|false)$", message = "restartable field allowed input: true or false")
private Boolean restartable;
Run Code Online (Sandbox Code Playgroud)

我该怎么办?有没有其他方法可以克服这个问题?提前致谢。

java validation spring-boot javax.validation

7
推荐指数
3
解决办法
2万
查看次数

动态获取由docker run命令创建的运行中容器ID /名称

因此,我试图动态运行下面的shell脚本,该脚本需要容器的容器ID /名称(将在其中运行脚本)。

一种方法是做docker ps然后获取容器ID,但这不会是动态的。

那么有没有办法动态地做到这一点?

#!/bin/bash
docker exec <container id/name> /bin/bash -c "useradd -m <username> -p <password>"
Run Code Online (Sandbox Code Playgroud)

linux bash docker

6
推荐指数
3
解决办法
4851
查看次数

Kafka消费者组再平衡

我正在使用 kafka 消费者组管理来处理我的消息。

我的消息的处理时间各不相同。因此,我将最大轮询间隔设置为 20 分钟,最大记录数为 20。除了上述两个之外,我还使用 5 个分区和 5 个具有默认配置值的消费者实例。

但我仍然间歇性地收到以下错误:

[Consumer clientId=consumer-3, groupId=amc_dashboard_analytics] Attempt to heartbeat failed since group is rebalancing
Run Code Online (Sandbox Code Playgroud)

我们的理解是,除非在达到消费者配置文档中写入的最大轮询间隔之前未调用轮询,否则不会发生重新平衡。但对我来说,重新平衡只发生在 20 分钟之前。

此外,在运行几个小时后,所有分配的消费者只是离开并说“尝试检测信号失败,因为组正在重新平衡”,并且不会再次加入(理想情况下应该再次加入)。

我在这里错过了什么吗?任何线索都会有帮助。

apache-kafka kafka-consumer-api

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