有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于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

我们能做点什么来解决这个问题吗

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    所以这看起来像是我们这边的一个bug,不管怎样。所以,我提出了一个问题-https://github.com/spring-cloud/spring-cloud-function/issues/741

    基本上,函数目录中的查找永远不会导致并发修改异常

    也就是说,您所做的哪些操作会导致并发查找? 如果你能提供一个复制它的小项目,并把它推到github的某个地方,这样我们就可以看一看了

  2. # 2 楼答案

    使用版本3.1.4=>;修复了该问题;谢谢