在 bootstrap.yml 中禁用了 ZooKeeper,它在测试期间仍在运行

Disabled ZooKeeper in bootstrap.yml, it still runs during testing

我正在 运行安装 SpringBoot 应用程序。我有 bootstrap-test.yml(位于 src/test/resources/config 下),看起来像:

spring.cloud.config.enabled: false
spring.cloud.service-registry.auto-registration.enabled: false
spring.cloud.zookeeper.discovery.enabled: false
spring.cloud.zookeeper.discovery.register: false

        

pom:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
    <version>2.2.2.RELEASE</version>
</dependency>

但是,当我尝试 运行 集成测试时:

@ActiveProfiles("test")
@DirtiesContext 
@SpringBootTest
public class TestClass......

ZooKeeper 仍然尝试“实时”连接:

16:02:14.752 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.memory.free=493MB
16:02:14.752 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.memory.max=8116MB
16:02:14.752 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.memory.total=610MB
16:02:14.778 [main] INFO  o.a.c.f.imps.CuratorFrameworkImpl - Starting
16:02:14.783 [main] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=localhost:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@76d828ff
16:02:14.788 [main] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes
16:02:14.798 [main-SendThread(localhost:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
16:02:14.805 [main] INFO  o.a.c.f.imps.CuratorFrameworkImpl - Default schema
16:02:16.805 [main-SendThread(localhost:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused: no further information
    at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:357)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1214)

我想禁用所有 zookeeper bootstrap 集成测试操作。是什么让我很沮丧,不知道出了什么问题:为什么 Zookeeper 在我禁用它时仍在尝试 运行?提前致谢。

这应该有效!

spring.cloud.zookeeper.enabled=false

对于 yaml,

spring:
  cloud:
    zookeeper:
        enabled: false