- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
似乎有另一个进程正在加载缓存,但无法找到它(如果错误没有告诉我谎言)。它唯一告诉我的是,我从一个名为 InputStreamConfigurationSource 的类的某处开始了另一个缓存???
有人遇到过这个错误吗???
我正在使用
堆栈跟踪
SEVERE: Servlet.service() for servlet [SpringDispatcher] in context with path [/FileService] threw exception [com.sun.jersey.api.container.ContainerException: Unable to create resource class com.myapp.FileStoreAccessAction] with root cause
net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager 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.
The source of the existing CacheManager is: InputStreamConfigurationSource [stream=java.io.BufferedInputStream@e782a8]
at net.sf.ehcache.CacheManager.assertNoCacheManagerExistsWithSameName(CacheManager.java:521)
at net.sf.ehcache.CacheManager.init(CacheManager.java:371)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:356)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.jersey.server.spi.component.ResourceComponentConstructor._construct(ResourceComponentConstructor.java:191)
at com.sun.jersey.server.spi.component.ResourceComponentConstructor.construct(ResourceComponentConstructor.java:179)
at com.sun.jersey.server.impl.resource.PerRequestFactory$PerRequest._getInstance(PerRequestFactory.java:182)
at com.sun.jersey.server.impl.resource.PerRequestFactory$AbstractPerRequest.getInstance(PerRequestFactory.java:144)
at com.sun.jersey.server.impl.application.WebApplicationImpl$19$1.getValue(WebApplicationImpl.java:1032)
at com.sun.jersey.server.impl.inject.AbstractHttpContextInjectable$1.getValue(AbstractHttpContextInjectable.java:104)
at com.sun.jersey.server.spi.component.ResourceComponentConstructor._construct(ResourceComponentConstructor.java:196)
at com.sun.jersey.server.spi.component.ResourceComponentConstructor.construct(ResourceComponentConstructor.java:179)
at com.sun.jersey.server.impl.resource.PerRequestFactory$PerRequest._getInstance(PerRequestFactory.java:182)
at com.sun.jersey.server.impl.resource.PerRequestFactory$AbstractPerRequest.getInstance(PerRequestFactory.java:144)
at com.sun.jersey.server.impl.application.WebApplicationImpl$19$1.getValue(WebApplicationImpl.java:1032)
at com.sun.jersey.server.impl.inject.AbstractHttpContextInjectable$1.getValue(AbstractHttpContextInjectable.java:104)
at com.sun.jersey.server.spi.component.ResourceComponentInjector.inject(ResourceComponentInjector.java:222)
at com.sun.jersey.server.spi.component.ResourceComponentConstructor.construct(ResourceComponentConstructor.java:180)
at com.sun.jersey.server.impl.resource.PerRequestFactory$PerRequest._getInstance(PerRequestFactory.java:182)
at com.sun.jersey.server.impl.resource.PerRequestFactory$AbstractPerRequest.getInstance(PerRequestFactory.java:144)
at com.sun.jersey.server.impl.application.WebApplicationContext.getResource(WebApplicationContext.java:238)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Spring 配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Enable annotation configuration -->
<context:annotation-config/>
<context:component-scan base-package="com.myapp" />
<!-- Jackson JSON ObjectMapper -->
<bean id="objectMapper" class="org.codehaus.jackson.map.ObjectMapper" />
<!-- Cache Manager -->
<bean id="ehCacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" scope="singleton">
<property name="configLocation" value="classpath:cacheConfig.xml" />
<property name="shared" value="true"/>
</bean>
<!-- Data Access -->
<bean id="dataAccessFactory" class="com.myapp.DataAccessFactory" />
<!-- Application Stuff -->
<bean id="fileStoreService" class="com.myapp.FileStoreService" scope="singleton">
<constructor-arg ref="dataAccessFactory"/>
<constructor-arg ref="ehCacheManager" />
</bean>
</beans>
网络 xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:appContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<servlet>
<servlet-name>SpringDispatcher</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringDispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
缓存文件
<ehcache>
<cache name="FileStoreList" maxElementsInMemory="10000" eternal="false"
overflowToDisk="false" timeToIdleSeconds="0" timeToLiveSeconds="0"
diskPersistent="false" diskExpiryThreadIntervalSeconds="120" />
</ehcache>
文件服务类
public class FileStoreService {
private final CacheManager cacheFactory;
private final DataAccessFactory factory;
public FileStoreService(@InjectParam DataAccessFactory factory, @InjectParam CacheManager ehCacheManager) {
this.factory = factory;
cacheFactory = ehCacheManager;
}
...
JSON 端点
public class FileStoreAccessAction {
/**
* JSON Object Mapper - pasted in via Spring
*/
@InjectParam
private ObjectMapper mapper;
@InjectParam()
private FileStoreService service;
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response list() {
....
最佳答案
关于这个问题“Jersey @InjectParam creating a new Object instead of taking from Spring”,使用了错误的 servlet。因此有两个容器启动,一个通过“ContextLoaderListener”用于 Spring,另一个通过“ServletContainer”用于 Jersey。这意味着正在启动两个缓存实例。
使用的Servlet容器应该是
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
因此 Jersey 可以附加到 Spring 容器
关于java - 错误 : "Another unnamed CacheManager already exists in the same VM" Using Spring, Jersey 和 ehCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823576/
每次我想要删除第一列时,它总是被命名为‘UNNAME’,并在每次我想要保存更改时出现。在我这样做之后,列将收获或不删除,我如何删除这些未命名的行并保存对数据帧的更改,以便完全从这些列中清除并将‘Tim
import pandas as pdimport seaborn as snimport matplotlib.pyplot as pltfrom datetime import datet
每次我想要删除第一列时,它总是被命名为‘UNNAME’,并在每次我想要保存更改时出现。在我这样做之后,列将收获或不删除,我如何删除这些未命名的行并保存对数据帧的更改,以便完全从这些列中清除并将‘Tim
我的源代码在 java 7 上编译并在 java 11 上运行。 我正在尝试将 imperva RASP 作为 java 代理集成到 tomcat 中。但是,当我启动 tomcat 服务器时,它抛出以
尝试在 JMX 控制台中注册 MBean 时收到以下错误消息: The package javax.management is accessible from more than one module
我正在尝试学习缓冲区溢出的基础知识,因此我编写了以下代码将其注入(inject)缓冲区: //uname(*buf) "addl $-390, %esp;" //save space for buff
我试图弄清楚 Web 组件是如何工作的,但无法完全理解插槽中回退内容的规则: 我有一个像这样的网络组件: const template = document.createElement('templa
public class Test { public static void main(String[] args) { DemoAbstractClass abstractC
我遇到了一个问题,每次运行我的程序(从 .csv 文件读取数据帧)时,都会出现一个名为“未命名”的新列。 运行 3 次后的示例输出列 - Unnamed: 0 Unnamed: 0.1
我目前正在做一些 Windows 7 内核调试工作,对于我正在查看的许多结构,windbg 没有给出结构名称,而是简单地显示 。 这是 IRP 结构的示例: 我猜这个结构因此被它的名字以外的东西引用,
假设有以下函数: void SetTheSize(const SIZE *size) { ... } 有没有办法在不指定 SIZE 变量的情况下调用该函数?例如, SetTheSize((const
以下代码(在包中注册时)为我们提供了一个在托盘 Test 中注册的名为 TParentComponent 的组件。 但是,当您使用属性编辑器(在同一代码中提供)创建子对象时,IDE 会显示错误消息无法
这是我的 POJO。 public class FolderPage { private List applications; public List getApplications() {
我正在读取 excel 文件作为数据框。但是,我的前三列有标题,其余的只需要一个数字索引。当我读取文件时,我得到下面的输出。 a b c Unna
这是我使用 PyCharm 多年以来从未遇到过的问题。我将文件系统中的一个文件夹复制到项目中,新文件夹标有红色小“m”图标和 ()。已附加到文件夹名称。出于好奇,我创建了一个新文件夹并将文件复制到其中
我在一个多模块项目中使用 maven,它工作正常。但是当它开始时,它指的是一些未命名的项目。为什么会发生这种情况,我该如何解决? 最佳答案 在每个子模块中,只需指定 : ... M
我正在将基于 C 代码的程序转换为 Windows 7 64 it 操作系统上的 Unicode visual studio 2008。我已经成功地将所有非 unicode 函数转换为 unicode
如果我有这样的东西: 我可以:window.parent.document.getElementById('parent').innerHTML。但是我有这样的东西: 有办法访问这个吗?我
有没有一种方法可以命名泛型 Func 的参数以支持智能感知? 例子: Func f1 = new Func( (a, b) => { return a + b } ); f1(2, 3); 最
当我这样做时,在 Ubuntu 终端中: $ db2 使用 db2inst1 连接到示例用户 db2inst1 我得到回应: 数据库服务器无法执行身份验证,因为服务器上与安全相关的数据库管理器文件没有
我是一名优秀的程序员,十分优秀!