小编rio*_*rio的帖子

Spring WebFlux 时不时会死机

我有一个Spring Boot WebFluxI/O 密集型服务并调用外部资源。

通常情况下,一切正常。但有时,我注意到该服务看起来像是冻结/冬眠。这意味着它可以在通常需要几毫秒的两行代码之间空闲几分钟。

这通常与 I/O 操作相关。例如,从资源 A 获取响应,然后调用资源 B。

我们注意到有时这些时间间隔为 10 分钟 - 就好像服务没有可用线程来处理请求或者它正在某处排队。

这种冻结可能与我们调用的外部服务响应缓慢有关。我们期望 WebFlux 能够毫无问题地处理它,但外部资源的缓慢似乎正在影响我们的服务。

伪正常场景:

10:00:00  - call external service A (responses within 2 seconds)
10:00:02 - getting a response from service A 
10:00:02:10 - calling service B  after 10 Milliseconds
Run Code Online (Sandbox Code Playgroud)

伪故障场景:

10:00  - call external service A (responses are getting slower, say to 1 minute)
10:01 - getting a response from service A
10:11 - calling service B  <----- why did …
Run Code Online (Sandbox Code Playgroud)

reactive-programming spring-boot spring-webflux

5
推荐指数
0
解决办法
817
查看次数

docker.sock:在 Windows 上将 testContainers 与 Podman 一起使用时权限被拒绝

我的 Java 和 Spring Boot 应用程序集成测试使用testContainers并且我在 Windows 计算机上使用Podman 。

当尝试运行集成测试时,我收到此权限错误:

Failed to load ApplicationContext
    java.lang.IllegalStateException: Failed to load ApplicationContext
 .....
Caused by: com.github.dockerjava.api.exception.InternalServerErrorException: Status 500: {"cause":"permission denied","message":"container create: statfs /var/run/docker.sock: permission denied","response":500}
Run Code Online (Sandbox Code Playgroud)

所有集成测试都失败了。

我需要向 Podman 提供特定的权限命令吗?

permissions containers testcontainers podman

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

Couchbase &amp; Spring 查询错误:“返回原始类型的查询预计将返回 1 个结果,得到 X”

在我们的spring-boot 2.0.4.RELEASE应用程序中,我们使用Couchbase version 5.5.1 build 3511with Spring

我们在 Repository 接口中添加了一个新的删除方法:

public interface CatRepository extends CouchbaseRepository<Cat, String> {

  long deleteAllByName(String name);
Run Code Online (Sandbox Code Playgroud)

调用该方法时,文档从存储桶中删除,但我们收到以下错误:

返回原始类型的查询预计将返回 1 个结果,得到 X

X 值根据删除的项目数而变化。在下面的示例中,删除了 27 个项目。

这是完整的堆栈跟踪:

    Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.couchbase.core.CouchbaseQueryExecutionException: Query returning a primitive type are expected to return exactly 1 result, got 27] with root cause

org.springframework.data.couchbase.core.CouchbaseQueryExecutionException: Query returning a primitive type are expected to …
Run Code Online (Sandbox Code Playgroud)

java couchbase spring-boot spring-data-couchbase

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

Intellij 中的 Git rebase - 如何一键选择所有临时提交作为“squash”?

使用 Intellij,我喜欢对一堆大约 30 个临时提交进行变基。

当我到达变基窗口时,系统会询问我如何处理每个提交(选择、跳过、编辑、压缩...)。

有没有办法告诉 Intellij“获取所有提交并对所有提交应用 X”,而不是手动单击每个提交?

在此输入图像描述

git intellij-idea rebase

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

带统计信息的异步​​咖啡因缓存

在这篇关于实现 Caffeine 异步缓存的博客文章之后,我们希望从缓存中获取统计数据。

我们正在使用2.7.0咖啡因版本

然而,似乎AsyncCache无法访问其统计数据:

private AsyncCache<String, Cat> asyncCache = Caffeine.newBuilder()
        .expireAfterWrite(1, TimeUnit.HOURS)
        .recordStats()
        .maximumSize(100)
        .buildAsync();

private Cache<String, Cat> cache = Caffeine.newBuilder()
        .expireAfterWrite(1, TimeUnit.HOURS)
        .maximumSize(100)
        .recordStats()
        .build();

....

cache.stats(); // this is possible
asyncCache.stats(); // no such method in asyncCache
Run Code Online (Sandbox Code Playgroud)

另外,检查AsyncCache的源代码并将其与Cachestats()类进行比较时,发现async类中没有方法。

这是有原因的吗?

java guava caffeine

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

如何在 Kotlin 中将输入字符串验证为有效日期?

所以我的Kotlin应用程序正在接受一个输入字符串,它应该是某种格式的日期:

fun haveFun(dateStr: String){
    var formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy")
    var formattedDate = dateStr.format(formatter)
    println(formattedDate)
}
Run Code Online (Sandbox Code Playgroud)

问题是无论我发送哪个输入字符串,似乎一切都是有效的,并且没有抛出错误。

该程序对我发送的任何文本都很酷:61-Boby-2019甚至I'm not a date

从 Java 开始,我习惯于抛出一些异常或isValid方法,但我在 Kotlin 中还没有找到这样的东西

date kotlin

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

如何在java中将int转换为json

如何在java中将int转换为JSON.一个简单的例子:

int number = 5; 
Gson gson = new Gson();
String numbersJson = gson.toJson(number);
return number; 
Run Code Online (Sandbox Code Playgroud)

但这不起作用:(因为我得到了5作为返回值.我想要json格式:{"number": 5}作为值

java int json gson

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