当前位置: 首页 > 知识库问答 >
问题:

spring云配置和spring云总线问题

罗乐意
2023-03-14

我有三个应用程序,一个是spring云配置服务器点,另一个是spring云配置客户endpoint。我在彼此中配置了spring云总线,以使客户endpoint自动刷新发生更改,但在我运行的应用程序中,出现了如下异常

    c.netflix.discovery.TimedSupervisorTask  : task supervisor rejected the task

java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@17834c50 rejected from java.util.concurrent.ThreadPoolExecutor@1944b0d0[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047) ~[na:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) [na:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) [na:1.8.0_92]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) ~[na:1.8.0_92]
    at com.netflix.discovery.TimedSupervisorTask.run(TimedSupervisorTask.java:62) ~[eureka-client-1.4.6.jar:1.4.6]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_92]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_92]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_92]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_92]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92]

这是我的spring云服务器配置

#git config
spring.cloud.config.server.git.uri = ###
spring.cloud.config.server.git.username=###
spring.cloud.config.server.git.password=###
spring.cloud.config.server.git.search-paths = puhui-cloud-config-client

#spring.active.profile
spring.profiles.active=dev

#spring-cloud-bus-amqp config
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.virtual-host=/

这是我的spring云配置服务器pom

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-monitor</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>

    </dependencies>

这是我的spring云配置客户端配置

#spring-cloud-config
spring.cloud.config.discovery.serviceId = PUHUI-CLOUD-CONFIG-SERVER
spring.cloud.config.name = @project.artifactId@
spring.cloud.config.profile = @profiles.active@
spring.cloud.config.label= master

spring.rabbitmq.host = localhost
spring.rabbitmq.port = 5672

这是我的spring云配置客户端pom

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
        </dependency>
</dependencies>

此异常不会影响操作的应用程序,但我想知道应用程序引发异常的原因

共有3个答案

漆雕皓轩
2023-03-14

我认为错误日志与Eureka有关。您是否正在运行Eureka服务器?您已经在pom文件中添加了Eureka依赖项,但我在属性文件中没有看到任何与Eureka相关的配置。尝试不使用这些依赖项,或者构建一个Eureka服务器并使用它们运行。或者至少在配置文件中添加以下属性。

eureka.client.enabled=false
梁丘缪文
2023-03-14

这是Eureka本身的问题,请尝试升级您正在使用的Eureka版本。您可以检查此https://github.com/spring-cloud/spring-cloud-netflix/issues/2228

尉迟禄
2023-03-14

尝试在discovery server中为客户端启用注册和获取注册表

eureka.client.registerWithEureka=true

eureka.client.fetchRegistry=true
 类似资料:
  • 我正在使用控制总线(rabbitmq)配置spring config server,但当我添加其依赖项时,应用程序无法启动,出现错误: 使用spring云版本

  • 我想在我的项目中使用Spring Cloud Bus来动态更新配置。我们的环境中已经有Apache ActiveMQ。有没有可能使用ActiveMQ而不是RabbitMQ作为代理?它们都是一种AMQP服务器。 我在pom.xml中设置依赖项如下: 它看起来像一个标准的AMQP启动器,不限于RabbitMQ。但是,当配置服务器启动时,以下错误日志会提示:

  • 使用Spring for Apache Kafka或Spring AMQP,我可以实现消息发布/订阅。Spring云总线使用Kafka/rabbitmq来完成大致相同的事情,它们之间的区别是什么?

  • 让我用一个例子来解释我的问题, 有一种叫做“通知服务”的微服务 它有2个实例在端口8080和8081中运行 我们的Spring云配置服务器也在运行,并包含“通知服务”的所有属性文件 当属性文件更改时,为了使其立即影响所有正在运行的实例,我们可以使用sping-Cloud-bus, 并使用邮递员工具一次刷新“通知服务”的所有实例。 例如,localhost:8080/bus/refresh 我想知道

  • 大家好,我完全是Spring Cloud Streams框架的新手。 在用于Kafka Streams的spring cloud stream文档中,我可以看到在示例中使用的应用程序yaml/properties文件中引用了前缀为spring.cloud.stream.function.definition等的属性。 我知道Cloud streams使用Cloud函数,但是Cloud stream

  • 我正在使用Spring Cloud Config服务器,能够检测来自git存储库的更改并将其传递给配置客户机。 有两种方法,我已经实现了: null 所以两者都工作得很好,那么使用Spring Cloud Bus有什么好处吗?或者在生产环境中,不使用Spring Cloud Bus会有什么问题吗?因为将需要额外的工作来设置RabbitMQ集群(HA)作为生产中的Spring云总线。 谢谢,大卫