CDI拦截器和内存缓存

时间:2011-07-18 00:03:37

标签: java memcached aop cdi interceptor

我正在阅读拦截器和AOP,他们可以整理你的代码并将跨领域的问题外部化到方面。我立刻想到了CDI以及每次尝试访问数据库时使用自定义拦截器来访问缓存。 是否有任何库已经实现了这个并支持memcache?我认为应该拦截对实体经理的调用。

2 个答案:

答案 0 :(得分:3)

恕我直言,如果你想这样做,你需要一个很好的理由来证明为什么Hibernate Cache / JBoss Cache(只是猜测你的技术堆栈,但几乎所有堆栈的产品/解决方案)都不合适你需要吗?

你当然不想在开发自己的查询或对象缓存方面重新发明轮子,不是吗?

答案 1 :(得分:1)

通常,使用memcached直接避免数据库请求是非常难以正确和低效的。你真的想要缓存更高级别的概念,比如DAO - > DTO边界。

我已经使用AOP非常成功地在java程序中注入缓存失效和观察者管理代码。 AOP允许我考虑代码的不同部分的不同可重用性集。这并不意味着我不必设计这些方面,但它让我摆脱了限制并阻止我剪切和粘贴等......

所以我的建议是设计这种访问模式,这样你就必须在每个边界上做一堆工作,然后设计在编译时注入该工作的交叉剪切。