无法执行 ZooKeeperMetaDataStore 的代码
Not able to execute the code for ZooKeeperMetaDataStore
我正在使用 spring 集成,我正在尝试为元数据创建一个 bean
@Bean
public MetadataStore zkStore(CuratorFramework client) {
return new ZookeeperMetadataStore(client);
}
我遇到了错误
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'zkStore'; nested exception is java.lang.NoSuchMethodError: 'org.apache.curator.framework.listen.ListenerContainer org.apache.curator.framework.recipes.cache.PathChildrenCache.getListenable()'
进一步挖掘后,我发现 class PathChildrenCache 已被弃用并被 Interface 取代。有什么办法可以运行这段代码
项目使用的依赖项
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-config</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-zookeeper</artifactId>
<version>5.5.2</version>
</dependency>
java.lang.NoSuchMethodError
表示您的类路径不兼容。
Spring 集成基于 Curator 4.3.0
。因此,最好修改您的依赖项以使其正常工作。
我们有一个未解决的问题要转移到 Curator 5.1
(或更高版本),但是由于他们的新 API 有足够的重大更改,我们不能立即这样做:https://github.com/spring-projects/spring-integration/issues/3435
我正在使用 spring 集成,我正在尝试为元数据创建一个 bean
@Bean
public MetadataStore zkStore(CuratorFramework client) {
return new ZookeeperMetadataStore(client);
}
我遇到了错误
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'zkStore'; nested exception is java.lang.NoSuchMethodError: 'org.apache.curator.framework.listen.ListenerContainer org.apache.curator.framework.recipes.cache.PathChildrenCache.getListenable()'
进一步挖掘后,我发现 class PathChildrenCache 已被弃用并被 Interface 取代。有什么办法可以运行这段代码
项目使用的依赖项
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-config</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-zookeeper</artifactId>
<version>5.5.2</version>
</dependency>
java.lang.NoSuchMethodError
表示您的类路径不兼容。
Spring 集成基于 Curator 4.3.0
。因此,最好修改您的依赖项以使其正常工作。
我们有一个未解决的问题要转移到 Curator 5.1
(或更高版本),但是由于他们的新 API 有足够的重大更改,我们不能立即这样做:https://github.com/spring-projects/spring-integration/issues/3435