基于springcloud的应用程序:java启动时出错。util。ConcurrentModificationException:null
有时我们在启动时出错,一些消息丢失。有时它工作得很好,因此错误似乎是随机的
exception [Request processing failed; nested exception is java.util.ConcurrentModificationException] with root cause
java.util.ConcurrentModificationException: null
at java.base/java.util.HashMap$KeySpliterator.tryAdvance(Unknown Source) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[na:na]
at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.findFirst(Unknown Source) ~[na:na]
at org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.findFunctionInFunctionRegistrations(SimpleFunctionRegistry.java:258) ~[spring-cloud-function-context-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.compose(SimpleFunctionRegistry.java:274) ~[spring-cloud-function-context-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.doLookup(SimpleFunctionRegistry.java:187) ~[spring-cloud-function-context-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.context.catalog.BeanFactoryAwareFunctionRegistry.lookup(BeanFactoryAwareFunctionRegistry.java:156) ~[spring-cloud-function-context-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.context.FunctionCatalog.lookup(FunctionCatalog.java:87) ~[spring-cloud-function-context-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.web.util.FunctionWebUtils.doFindFunction(FunctionWebUtils.java:91) ~[spring-cloud-function-web-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.web.util.FunctionWebUtils.findFunction(FunctionWebUtils.java:49) ~[spring-cloud-function-web-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.web.mvc.FunctionHandlerMapping.getHandlerInternal(FunctionHandlerMapping.java:94) ~[spring-cloud-function-web-3.1.3.jar!/:3.1.3]
at org.springframework.cloud.function.web.mvc.FunctionHandlerMapping.getHandlerInternal(FunctionHandlerMapping.java:41) ~[spring-cloud-function-web-3.1.3.jar!/:3.1.3]
at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:498) ~[spring-webmvc-5.3.9.jar!/:5.3.9]
方法:
@Bean
public Function<Claim, Claim> saveClaim() {
return data -> injectionService.saveClaim(data);
}
我们在构建中的依赖关系。格拉德尔
id 'org.springframework.boot' version '2.5.4'
org.springframework.cloud:spring-cloud-starter-function-web:3.1.3
我们能做点什么来解决这个问题吗
提前谢谢
# 1 楼答案
所以这看起来像是我们这边的一个bug,不管怎样。所以,我提出了一个问题-https://github.com/spring-cloud/spring-cloud-function/issues/741
基本上,函数目录中的查找永远不会导致并发修改异常
也就是说,您所做的哪些操作会导致并发查找? 如果你能提供一个复制它的小项目,并把它推到github的某个地方,这样我们就可以看一看了
# 2 楼答案
使用版本3.1.4=>;修复了该问题;谢谢