ehcache - 限制访问
ehcache - restrict access
我在我的应用程序中使用了 ehcache(未复制或分布式),据我所知,它只能从同一个 JVM 访问,但同一个 JVM 中的所有应用程序(例如部署在应用程序服务器中)都可以从中获取值缓存。我说得对吗?
我想要的是只有我的应用程序才能获取缓存及其值。有可能吗?我检查了 XML 配置文件,但我没有找到任何配置来控制它。或者我应该在从 CacheManager 获取缓存时设置一些东西?
这就是我在代码中获取缓存的方式:
private static final String LOCAL_CACHE_NAME = "LOCAL_PROTNEUT_STORE";
private Cache getCache() {
// the name of the ehcache should be able to be configured in the general config XML
URL url = getClass().getResource("/protneut-local-ehcache.xml");
CacheManager manager = CacheManager.create(url);
Cache cache = manager.getCache(LOCAL_CACHE_NAME);
return cache;
}
配置文件:
<ehcache>
<cache name="LOCAL_PROTNEUT_STORE" maxElementsInMemory="500" eternal="true" memoryStoreEvictionPolicy="LRU" />
</ehcache>
是否可以完全控制访问?
感谢您的帮助!
此致,
五、
一般情况下,应用程序无法相互访问,因为它们加载了单独的类路径(您可以阅读更多相关内容 here),因此您不必担心。
您必须付出额外的努力才能使简单的缓存管理器在所有应用程序中可用(例如通过 JNDI 使其可用或将其放在共享库中)
我在我的应用程序中使用了 ehcache(未复制或分布式),据我所知,它只能从同一个 JVM 访问,但同一个 JVM 中的所有应用程序(例如部署在应用程序服务器中)都可以从中获取值缓存。我说得对吗?
我想要的是只有我的应用程序才能获取缓存及其值。有可能吗?我检查了 XML 配置文件,但我没有找到任何配置来控制它。或者我应该在从 CacheManager 获取缓存时设置一些东西?
这就是我在代码中获取缓存的方式:
private static final String LOCAL_CACHE_NAME = "LOCAL_PROTNEUT_STORE";
private Cache getCache() {
// the name of the ehcache should be able to be configured in the general config XML
URL url = getClass().getResource("/protneut-local-ehcache.xml");
CacheManager manager = CacheManager.create(url);
Cache cache = manager.getCache(LOCAL_CACHE_NAME);
return cache;
}
配置文件:
<ehcache>
<cache name="LOCAL_PROTNEUT_STORE" maxElementsInMemory="500" eternal="true" memoryStoreEvictionPolicy="LRU" />
</ehcache>
是否可以完全控制访问?
感谢您的帮助!
此致,
五、
一般情况下,应用程序无法相互访问,因为它们加载了单独的类路径(您可以阅读更多相关内容 here),因此您不必担心。
您必须付出额外的努力才能使简单的缓存管理器在所有应用程序中可用(例如通过 JNDI 使其可用或将其放在共享库中)