Apache Ignite с Spring Boot CrudRepo не может быть инициализирован - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь настроить небольшое приложение Ignite с помощью IgniteCrudRepository.

Поскольку в текущей стабильной версии 2.6.0 есть проблемы с интеграцией данных Spring (https://issues.apache.org/jira/browse/IGNITE-6879) Я использую последнюю ночную версиюbuild 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

Но в моем приложении для весенней загрузки я создаю компонент Ignite и вЖурналы отладки Я вижу, что Spring знает об этом bean-компоненте.

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

Мой класс загрузочного приложения выглядит следующим образом:

@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 в мой контроллер также работает, подтвердив, что путем отладки в нем. Реализация имеет тип IgniteKernal.

Поэтому я не понимаю, почему хранилище не может быть создано, поскольку кажется, что требуемый компонентчасть контекста приложения. Дополнительной конфигурации xml или java нет.

Я знаю, что 2.7.0 еще не выпущен, и это может быть ошибкой в ​​ночнойстроить.Но, возможно, у кого-то была эта проблема раньше или есть идея, как это исправить.

1 Ответ

0 голосов
/ 25 сентября 2018

Я считаю, что вы должны назвать боб igniteInstance.Смотрите последний параграф здесь .Он говорит, что вы можете иметь либо igniteInstance, igniteCfg или igniteSpringCfgPath.

...