I'm just not able to see the cached values by using:
final Cache<String, String> testCache = cacheBean.getCacheManager().
getCache("testCache");
log.info(String.format("Cache name: %s", testCache.getName()));
* // This should display value1, but it doesn't log.info
<http://log.info>(String.format("Value: %s", testCache.get("key1")));*
ehcache.xml:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="true" monitoring="autodetect"
dynamicConfig="true">
<defaultCache
maxEntriesLocalHeap="1000000"
eternal="false"
timeToIdleSeconds="86400"
timeToLiveSeconds="86400"
memoryStoreEvictionPolicy="LRU">
</defaultCache>
<cache name="testCache"
maxEntriesLocalHeap="1000000"
eternal="false"
timeToIdleSeconds="600"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU">
</cache>
</ehcache>
On Thu, Aug 27, 2015 at 9:49 AM, Romain Manni-Bucau <[email protected]>
wrote:
> looks good, did you encounter any issue or did you ask only for a review?
>
> Note: beans.xml should be empty if already provided by ri jar.
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> | Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> <http://www.tomitribe.com>
>
> 2015-08-27 15:41 GMT+02:00 sgjava <[email protected]>:
>
> > Your examples all have invokers, etc. but none of the other example I've
> > seen require this. Since you don't have time to look, maybe you can see
> if
> > my structure looks good:
> >
> > pom.xml:
> >
> > <dependency>
> > <groupId>org.jsr107.ri</groupId>
> > <artifactId>cache-annotations-ri-cdi</artifactId>
> > <version>1.0.0</version>
> > </dependency>
> > <dependency>
> > <groupId>org.ehcache</groupId>
> > <artifactId>jcache</artifactId>
> > <version>1.0.1</version>
> > <scope>compile</scope>
> > </dependency>
> >
> > beans.xml:
> >
> > <beans>
> > <interceptors>
> >
> <class>org.jsr107.ri.annotations.cdi.CacheResultInterceptor</class>
> >
> > <class>org.jsr107.ri.annotations.cdi.CacheRemoveEntryInterceptor</class>
> >
> > <class>org.jsr107.ri.annotations.cdi.CacheRemoveAllInterceptor</class>
> > <class>org.jsr107.ri.annotations.cdi.CachePutInterceptor</class>
> > </interceptors>
> > </beans>
> >
> > Cache bean:
> >
> > @Singleton
> > @Startup
> > @Lock(READ)
> > public class CacheBean {
> >
> > private static final Logger log = Logger.
> > getLogger(CacheBean.class.getName());
> >
> > /**
> > * Caching provider.
> > */
> > private CachingProvider cachingProvider;
> > /**
> > * Cache manager.
> > */
> > private CacheManager cacheManager;
> >
> > public CacheManager getCacheManager() {
> > return cacheManager;
> > }
> >
> > /**
> > * Using EHCache provider configured via ehcache.xml in classpath.
> > */
> > //CHECKSTYLE:OFF DesignForExtension
> > @PostConstruct
> > //CHECKSTYLE:ON DesignForExtension
> > public void init() {
> > log.info("PostConstruct");
> > cachingProvider = Caching.getCachingProvider();
> > cacheManager = cachingProvider.getCacheManager();
> > }
> >
> > /**
> > * Destroy cache.
> > */
> > //CHECKSTYLE:OFF DesignForExtension
> > @PreDestroy
> > //CHECKSTYLE:ON DesignForExtension
> > public void destroy() {
> > log.info("PreDestroy");
> > cacheManager.close();
> > cachingProvider.close();
> > }
> > }
> >
> > Bean to test annotations:
> >
> > @Stateless
> > @CacheDefaults(cacheName = "testCache")
> > public class KeyValueBean {
> >
> > private static final Logger log = Logger.
> > getLogger(KeyValueBean.class.getName());
> >
> > @CacheResult
> > public String add(@CacheKey String key, String value) {
> > log.info(String.format("Adding key: %s, value: %s", key,
> value));
> > return value;
> > }
> >
> > @CacheRemoveAll
> > public void invalidateCache() {
> > log.info("Cache invalidated");
> > }
> > }
> >
> > Unit test:
> >
> > public class CacheBeanTest {
> >
> > /**
> > * Logger.
> > */
> > private static final Logger log =
> Logger.getLogger(CacheBeanTest.class.
> > getName());
> > /**
> > * Injected cache bean.
> > */
> > @EJB
> > private CacheBean cacheBean;
> > /**
> > * Our key/value bean.
> > */
> > @EJB
> > private KeyValueBean keyValueBean;
> >
> > /**
> > * EJB container.
> > */
> > private static EJBContainer container;
> >
> > /**
> > * Start EJB container.
> > */
> > @BeforeClass
> > public static void setUpClass() {
> > }
> >
> > /**
> > * Close caching provider/manager and EJB container.
> > */
> > @AfterClass
> > public static void tearDownClass() {
> > }
> >
> > /**
> > * Set up.
> > */
> > @Before
> > public void setUp() throws NamingException {
> > log.info("setUp()");
> > container = EJBContainer.createEJBContainer();
> > container.getContext().bind("inject", this);
> > }
> >
> > /**
> > * Tear down.
> > */
> > @After
> > public void tearDown() throws NamingException {
> > container.getContext().unbind("inject");
> > container.close();
> > }
> >
> > /**
> > * Test JSR-107 cache using EHCache provider.
> > */
> > @Test
> > public final void testCache() {
> > log.info("testCache");
> > assertNotNull(cacheBean);
> > log.info(String.format("Cache names: %s",
> > cacheBean.getCacheManager().
> > getCacheNames()));
> > keyValueBean.add("key1", "value1");
> > final Cache<String, String> testCache =
> > cacheBean.getCacheManager().
> > getCache("testCache");
> > log.info(String.format("Cache name: %s", testCache.getName()));
> > // This should display value1, but it doesn't
> > log.info(String.format("Value: %s", testCache.get("key1")));
> > testCache.close();
> > }
> > }
> >
> >
> >
> >
> >
> > On Thu, Aug 20, 2015 at 8:47 PM, Romain Manni-Bucau [via TomEE &
> OpenEJB] <
> > [email protected]> wrote:
> >
> > > dont have time to look now but here a sample i wrote which is green
> > there:
> > > https://gist.github.com/rmannibucau/323f3de99309f856fe81
> > >
> > >
> > > Romain Manni-Bucau
> > > @rmannibucau <https://twitter.com/rmannibucau> | Blog
> > > <http://rmannibucau.wordpress.com> | Github <
> > > https://github.com/rmannibucau> |
> > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > > <http://www.tomitribe.com>
> > >
> > > 2015-08-20 17:43 GMT-07:00 sgjava <[hidden email]
> > > <http:///user/SendEmail.jtp?type=node&node=4675949&i=0>>:
> > >
> > > > I added my JCache attempt in my test project
> > > > https://github.com/sgjava/my-jaxrs-test
> > > >
> > > > I'm not sure the <interceptors> in beans.xml are being loaded or
> that I
> > > > have
> > > > the container set up right for the unit test
> > > >
> > > >
> > >
> >
> https://github.com/sgjava/my-jaxrs-test/blob/master/src/test/java/com/codeferm/services/jaxrs/CacheBeanTest.java
> > > >
> > > > I'm using the EHCache provider and it fires up fine and can interact
> > > with
> > > > it, but CDI doesn't appear to be working. Any help getting the
> working
> > > in
> > > > TomEE 7 is appreciated.
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > View this message in context:
> > > >
> > >
> >
> http://tomee-openejb.979440.n4.nabble.com/JCache-CDI-tp4675943p4675948.html
> > > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > > >
> > >
> > >
> > > ------------------------------
> > > If you reply to this email, your message will be added to the
> discussion
> > > below:
> > >
> >
> http://tomee-openejb.979440.n4.nabble.com/JCache-CDI-tp4675943p4675949.html
> > > To unsubscribe from JCache CDI, click here
> > > <
> >
> http://tomee-openejb.979440.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4675943&code=c2dqYXZhQGdtYWlsLmNvbXw0Njc1OTQzfC0xNzc0MzgwNjE5
> > >
> > > .
> > > NAML
> > > <
> >
> http://tomee-openejb.979440.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> > >
> > >
> >
> >
> >
> > --
> > Steven P. Goldsmith
> >
> >
> >
> >
> > --
> > View this message in context:
> >
> http://tomee-openejb.979440.n4.nabble.com/JCache-CDI-tp4675943p4675981.html
> > Sent from the TomEE Users mailing list archive at Nabble.com.
> >
>
--
Steven P. Goldsmith