0

I have a services project and web project. I need to have eh-cache in both projects.

Here some time service project work via batch as well. So we need a separate cache in web and service project.

At this point, my web project also uses eh-cache for its own purposes. I am not much experienced with eh-cache and I fear that the two projects might clash when deployed together. I also did not find relevant information on eh-cache site.

Can you provide me some information how to best configure the two projects, so that I can achieve the above requirements?

Web Project:

@Bean
public EhCacheCacheManager ehCacheCacheManager() {
    net.sf.ehcache.CacheManager cacheManager = ehCacheManagerFactoryBean().getObject();
    return new EhCacheCacheManager(cacheManager);
}

@Bean
public EhCacheManagerFactoryBean ehCacheManagerFactoryBean() {
    EhCacheManagerFactoryBean cacheManagerFactoryBean = new EhCacheManagerFactoryBean();
    cacheManagerFactoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
    cacheManagerFactoryBean.setShared(true);
    return cacheManagerFactoryBean;
}

Service Project:

@Bean
public IServiceCacheManager cacheManager() {
    return new ServiceCacheManager();
}

public ServiceCacheManager() {
    EhCacheManagerFactoryBean factory = new EhCacheManagerFactoryBean();
    factory.setConfigLocation(new ClassPathResource("service-ehcache.xml"));
    factory.setShared(true);
    factory.afterPropertiesSet();
    setCacheManager(factory.getObject());
}

public ServiceCacheManager(net.sf.ehcache.CacheManager cacheManager) {
    super(cacheManager);
}

Also, I have tried to given bean name as well. Like below.

@Bean(name="WebCacheManager")
    public EhCacheCacheManager ehCacheCacheManager() {
        net.sf.ehcache.CacheManager cacheManager = ehCacheManagerFactoryBean().getObject();
        return new EhCacheCacheManager(cacheManager);
    }


@Bean(name="ServiceCacheManager")
    public ServiceCacheManager cacheManager() {
        return new CBAEngineCacheManager();
    }

Above configuration also not worked.

Thanks! Bharathi

Bharathiraja S
  • 651
  • 3
  • 11
  • 24

0 Answers0