在我们的项目中,我们希望为LDAP信息创建一个缓存,似乎Guava是一个很好的选择。
但是,由于我们使用的是EJB3.0,所以我有一些顾虑。
基本上,我们有一个UserDAO类,它负责获取必要的LDAP信息,并且在UserDAO中将Guava Cache声明为静态。
我可以在ejb中简单地使用这个UserDAO吗?我有两个顾虑: 1. ejb不允许读/写静态字段,以防ejb在多个JVM中运行。UserDAO已经拥有静态缓存。2. ejb不允许生成用户自己的线程,我认为这条规则延伸到不使用MultiThread库?我不确定Guava Cache是如何实现的?
谢谢!
发布于 2015-02-28 11:44:27
我认为在EJB中使用Guava Cache是不合适的。
虽然Guava Cache不创建新的线程,但它管理线程。缓存中有sychronized数据块和ReentrantLock。所以它在EJB中是不适当的行为。
https://stackoverflow.com/questions/28767191
复制相似问题