package org.littlewings.hazelcast.producer; import java.util.concurrent.TimeUnit; import javax.annotation.PostConstruct; import javax.cache.CacheManager; import javax.cache.configuration.Configuration; import javax.cache.configuration.MutableConfiguration; import javax.cache.expiry.CreatedExpiryPolicy; import javax.cache.expiry.Duration; import javax.ejb.Singleton; import javax.ejb.Startup; import javax.inject.Inject; @Singleton @Startup public class CacheProducer { @Inject private CacheManager manager; @PostConstruct public void createCalcCache() { Configuration<?, ?> configuration = new MutableConfiguration<>() .setExpiryPolicyFactory( CreatedExpiryPolicy .factoryOf(new Duration(TimeUnit.SECONDS, 10))); if (manager.getCache("calcCache") == null) { manager.createCache("calcCache", configuration); } } }