Hi Guilherme,

Ignite creates Spring application context only if started using
Ignition.start(springUrlCfg) method and can work only with XML
application context.

Try to use IgniteSpringBean. This class implements
ApplicationContextAware interface so your Spring application context
should be propagated to Ignite instance.

Another way is using IgniteSpring.start() factory method that get
optional Spring application context.

On Mon, Apr 24, 2017 at 1:09 PM, Guilherme Melo <guilhe...@gmelo.org> wrote:
> Hello,
> I am trying to utilize @SpringResource and
> @SpringApplicationContextResource, however both are null on my CacheStore,
> has anyone encountered this before?
>
> Below is my config:
>
>     @Bean
>     public IgniteConfiguration getIgniteConfiguration() {
>         IgniteConfiguration cfg = new IgniteConfiguration();
>         cfg.setClientMode(false);
>         CacheConfiguration orderCache = new CacheConfiguration();
>         orderCache.setName("testCache");
>         orderCache.setBackups(1);
>         orderCache.setCacheMode(CacheMode.PARTITIONED);
>
> orderCache.setCacheWriterFactory(FactoryBuilder.factoryOf(CacheStoreWithInjectedBeans.class));
>         orderCache.setReadThrough(true);
>         orderCache.setWriteThrough(true);
>
>         cfg.setCacheConfiguration(
>                 orderCache);
>         return cfg;
>     }
>
> and the class:
>
> public class CacheStoreWithInjectedBeans implements CacheWriter<String,
> String> {
>     @SpringResource
>     private MyService myService;
>     @SpringApplicationContextResource
>     private Object appCtx;
>     @Override
>     public void write(Cache.Entry<? extends String, ? extends String> entry)
> throws CacheWriterException {
>         myService.apply(entry.getValue());
>     }
>     @Override
>     public void writeAll(Collection<Cache.Entry<? extends String, ? extends
> String>> entries) throws CacheWriterException {
>
>     }
>     @Override
>     public void delete(Object key) throws CacheWriterException {
>
>     }
>     @Override
>     public void deleteAll(Collection<?> keys) throws CacheWriterException {
>
>     }
>
> }
>
> Cheers,
> Guilherme Melo
> www.gmelo.org

Reply via email to