Я вижу, что с изменением, введенным в 2.4 в IgniteSpringBean, для задержки запуска экземпляра ignite до инициализации всех других bean-компонентов Spring, возможно, произошел сбой Ignite SpringTransactionManager , что привело к невозможности настроить его для абстракции транзакции Spring транзакций Ignite,Мне действительно очень нужно найти способ обойти это.Любые идеи / предложения кто-нибудь?
Ниже строка из IgniteSpringBean java doc "Экземпляр Ignite запускается после того, как все другие бины Spring были инициализированы и прямо перед контекстом SpringЭто означает, что недопустимо ссылаться на IgniteSpringBean из любых методов инициализации bean-компонента Spring, таких как PostConstruct. Если требуется ссылаться на IgniteSpringBean для других целей инициализации бина, это следует делать из метода прослушивателя ContextRefreshedEvent, объявленного в этом бине. "
Проблема в , поскольку SpringTransactionManager реализует org.springframework.beans.factory.InitializingBean & в вызове afterPropertiesSet (), который Spring вызывает для его поиска.для указанного значения igniteInstanceName, но поскольку экземпляр запускается только ПОСЛЕ , все остальные компоненты Spring были инициализированы, происходит сбой с IgniteIllegalStateException ,
См. трассировку стека ниже,
lass]: сбой вызова метода init;Вложенное исключение - класс org.apache.ignite.IgniteIllegalStateException: экземпляр Ignite с указанным именем не существует.Вы вызывали Ignition.start (..), чтобы запустить экземпляр Ignite?[Имя = ObjectManagerGrid] в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1628) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:555) в орг.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:483) в org.springframeworkwork.beans.factory.support..DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:302).: 197) в org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:761) в org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:866) в org.springframework.context.support.AbstractApplicationContext.me.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.java:122) в org.springframework.boot.SpringApplication.refresh (SpringApplication.java:737) в org.springframework.boot.Savaorg.springframework.boot.SpringApplication.run (SpringApplication.java:314) в com.brocade.dcm.Application.main (Application.java:63) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.rag.rag.ragot.loader.MainMethodRunner.run (MainMethodRunner.java:48) в org.springframework.boot.loader.Launcher.launch (Launcher.java:87) в org.springframework.boot.loader.Launcher.launch (Лаунчер.java (Launcher.junch50) в org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:51) Причина: org.apache.ignite.IgniteIllegalStateException: экземпляр Ignite с указанным именем не существует.Вы вызывали Ignition.start (..), чтобы запустить экземпляр Ignite?[name = ObjectManagerGrid] в org.apache.ignite.internal.IgnitionEx.grid (IgnitionEx.java:1376) в org.apache.ignite.Ignition.ignite (Ignition.java:530) в org.apache.ignite.transactions.spring.SpringTransactionManager.afterPropertiesSet (SpringTransactionManager.java:357) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1687) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.Java: 1624) ... 22 общих кадра опущены
Спасибо