- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
net.sf.ehcache.CacheException: Another CacheManager with same name 'fernowebapp' already exists in the same VM. Please provide unique names for each CacheManage
r in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
这是 web.xml
<servlet>
<servlet-name>ferno</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
<servlet-mapping>
<servlet-name>ferno</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/ferno-servlet.xml</param-value>
</context-param>
<context-param>
<param-name>contextInitializerClasses</param-name>
<param-value>com.vuelogix.collygo.context.FernoApplicationContextInitializer</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
当我检查日志时,我发现应用程序上下文被初始化了两次。我刚刚通过禁用调度程序 servlet 启动时的负载来验证它。当我禁用调度程序 servlet 时,我发现异常不会在启动时出现。但它发生在我第一次尝试点击任何 Controller 类时。
我在 Why does Spring MVC need at least two contexts? 中发现了一些类似的问题, Spring - application Initialized twice?
在下面的链接中提到,对于 Ehcache 2.5 和更高版本,不允许在同一个 JVM 中存在多个同名的 CacheManager。创建非单例 CacheManager 的 CacheManager() 构造函数可能违反此规则。
Another unnamed CacheManager already exists in the same VM (ehCache 2.5)
如果要再次加载应用程序上下文以初始化调度程序 servlet,那么初始化类如 CacheManager 的最佳方法是什么?
我相信如果我为调度程序 servlet 添加初始化参数它会起作用。评论中提到。就我而言,我没有用于调度程序 servlet 的单独应用程序上下文,因此我相信它在我的应用程序上下文中工作正常。更新:因此,当我真的需要为我的调度程序 servlet 提供单独的应用程序上下文时,最佳做法是从第二个上下文中删除缓存声明(在本例中)并在根配置上进行这些配置?如果我错了请纠正我
最佳答案
您几乎找到了 Why does Spring MVC need at least two contexts? 的答案问题。
当您使用 Spring MVC 时,您拥有根上下文和使用根作为其父级的调度程序 servlet 上下文。
但是这里有:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/ferno-servlet.xml</param-value>
</context-param>
您声明应该从 /WEB-INF/ferno-servlet.xml
加载根上下文,并且当您将 servlet 命名为 ferno
时,DispatcherServlet
上下文是从同一个文件加载的。然后,您将在每个上下文中创建每个 bean 两次——这至少是危险的……
所以你必须声明2个上下文和:
永远不要为根应用程序上下文使用像 xxx-servlet.xml
这样的名称来避免此类问题。
关于java - 应用程序启动时,同一个 VM 中已存在另一个同名 '' 的 CacheManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789525/
使用 ehcache 和 Spring 启动 tomcat 时收到此错误。 Another CacheManager with same name 'cacheManager' already exi
我正在尝试在我的应用程序中使用 Ehcache 管理器。我想在没有 xml 配置的情况下设置它。我有下一个依赖项: org.ehcache ehcache 3.6.0
我要使用 CacheManager对于我的 .net 项目。问题是我找不到 CacheManager.Memcached 用法的任何示例。 我是这样用的: public class GlobalCac
我注意到根据文档,要创建缓存,您必须实例化或获取 CacheManager 并将缓存添加到其中。 singletonManager = CacheManager.create(); Cache mem
我有一个简单的 API,我的客户可以在独立应用程序中使用它。我的 API 在幕后使用 Ehcache 来提高性能。 一切正常,除了我的客户端需要在 API 中调用 shutdown() 方法来调用 C
尝试在我的 Spring 应用程序中的 Controller 上运行单元测试。 我的测试类: @RunWith (SpringJUnit4ClassRunner.class) @WebAppConfi
我已经创建了一个 nopCommerce v3.5 插件,并希望在 Controller Action 下加载一个文本文件到 _cacheManager 然后在下一个中重用它请求。 但是 _cache
使用 CacheManager ,您如何最好地实现这种情况,其中缓存实例包含可能需要很长时间才能从慢速来源获取的数据? 我从不希望用户等待缓存填充(我不关心第一次加载) 我可以想到两种方法,但不确定它
我一直在尝试使用 CacheManager缓存一些http请求,但每次都因空指针异常而失败。后一些挖掘我相信我找到了原因: CacheManager.getCacheFileBaseDir() 总是返
我正在使用 Spring Boot 和 EhCache 开发日历应用程序。我正在尝试缓存以下方法: @Override @Cacheable(value = "concerts") public Li
如何在我的应用程序的任何部分获取对 Shiro 框架中的 cacheManager 对象的引用?例如,我想删除在删除用户或更新其权限期间缓存的旧用户数据。现在我正在按照以下方式处理它 public v
我正在使用 redis 作为我的 spring 缓存实现。官方文档说我们应该像这样配置缓存管理器: 当 jedis 版本 = 2.0.0 和 spring-data-redis 版本 = 1.0.
有人可以确认 CacheManager.Net 是否支持 redis 流水线吗? 我在 documentation 中找不到它 非常感谢。 干杯,你 最佳答案 有点。CacheManager 不直接支
从 CacheManager.NET 的角度来看,我有一个关于 Redis 连接参数的基本问题。如果我们的 Redis 集群有一个主节点和两个从节点,并且有哨兵进程的法定人数,我们是否应该提供指向哨兵
我没有找到 CacheManager bean...但是我没有尝试对 CacheManager 做任何事情! 这是我的错误! org.springframework.beans.factory.Bea
net.sf.ehcache.CacheManager.ALL_CACHE_MANAGERS 是否有替代品?在 org.ehcache ehcach
根据Ehcache ,一个应用程序可以有多个CacheManager。由于可以在单个 CacheManager 中维护多个缓存,那么拥有多个 CacheManager 会给我们带来什么好处呢? Dis
我的 application.yml 中有一个默认的 redis 缓存配置: cache: type: redis redis: time-to-live: 7200000
当我使用单元测试缓存移动来测试我的应用程序时,效果很好。但是当我尝试通过功能测试来测试我的 api 时,我遇到了一个异常。 public function testGet() { Cache:
我在尝试使用 Guice 在 Play Framework 2.4.6 中进行 Controller 测试时遇到了标题所示的错误。它发生在 Controller 中的任何 view.render 代码
我是一名优秀的程序员,十分优秀!