gpt4 book ai didi

java - Apache Ignite 与 Spring Boot CrudRepo 无法初始化

转载 作者:行者123 更新时间:2023-12-02 01:54:29 28 4
gpt4 key购买 nike

我正在尝试使用 IgniteCrudRepository 设置一个小型 Ignite 应用程序。

由于当前的稳定版本 2.6.0 存在 Spring 数据集成问题 ( https://issues.apache.org/jira/browse/IGNITE-6879 ),我正在使用最新的 nighty 版本 2.7.0。

当我尝试启动应用程序时,它失败并出现以下异常:

org.apache.ignite.IgniteException: Failed to initialize Ignite repository factory. Ignite instance or IgniteConfiguration or a path to Ignite's spring XML configuration must be defined in the application configuration

但是在我的 Spring Boot 应用程序中,我确实创建了一个 Ignite bean,并且在调试日志中我看到 spring 知道该 bean。

Eagerly caching bean 'ignite' to allow for resolving potential circular reference

我的 Spring Boot 应用程序类如下所示:

@SpringBootApplication
@EnableIgniteRepositories
@Configuration
public class MyApplication {

public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}

@Bean
Ignite ignite(){

IgniteConfiguration configuration = new IgniteConfiguration();
configuration.setIgniteInstanceName("myApp");
configuration.setPeerClassLoadingEnabled(true);
CacheConfiguration<Integer, Page> cache = new CacheConfiguration<>("pageCache");
cache.setIndexedTypes(Integer.class, Page.class);
configuration.setCacheConfiguration(cache);

return Ignition.start(configuration);
}
}

存储库定义如下:

import org.apache.ignite.springdata20.repository.IgniteRepository;


public interface PageRepository extends IgniteRepository<Page, Integer> {
}

将 Ignite bean 注入(inject)我的 Controller 也可以工作,通过调试证实了这一点。实现类型为 IgniteKernal。

所以我不明白为什么无法创建存储库,因为所需的 bean 似乎是应用程序上下文的一部分。没有额外的 xml 或 java 配置。

我知道 2.7.0 尚未发布,这可能是夜间构建中的一个错误。但也许有人以前遇到过这个问题,或者知道如何解决这个问题。

最佳答案

我相信您必须将该 bean 命名为 igniteInstance。参见最后一段here 。它说您可以拥有 igniteInstanceigniteCfgigniteSpringCfgPath

关于java - Apache Ignite 与 Spring Boot CrudRepo 无法初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52502156/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com