2017-02-15 7 views
0

Я проникаю один из моего весеннего проекта, который содержит ehcaching к GoogleAppEngine, Но я получаю ниже исключения:Реализации Ehcache с весной в GoogleAppEngine

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.config.internalCacheAdvisor': Cannot resolve reference to bean 'org.springframework.cache.annotation.AnnotationCacheOperationSource#0' while setting bean property 'cacheOperationSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.annotation.AnnotationCacheOperationSource#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.config.internalJCacheAdvisor': Cannot resolve reference to bean 'org.springframework.cache.jcache.interceptor.DefaultJCacheOperationSource#0' while setting bean property 'cacheOperationSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.jcache.interceptor.DefaultJCacheOperationSource#0': Cannot resolve reference to bean 'cacheManager' while setting bean property 'cacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cacheManager' defined in class path resource [root-context.xml]: Cannot resolve reference to bean 'ehcache' while setting bean property 'cacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcache' defined in class path resource [root-context.xml]: Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) 
at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:92) 
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:101) 
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87) 
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69) 
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:347) 
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:299) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
... 38 more 

Вот мои конфигурационные файлы:

веба .xml

<servlet> 
    <servlet-name>appServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>appServlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

ehcache.xml

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"> 
<cacheManagerEventListenerFactory class="" properties="" /> 
<defaultCache maxElementsInMemory="10000" 
    eternal="false" 
    overflowToDisk="false" 
    diskPersistent="false" 
    timeToIdleSeconds="120" 
    timeToLiveSeconds="120" 
    memoryStoreEvictionPolicy="LRU"> 
</defaultCache> 
<!--Example sample cache --> 
<cache name="sampleCache1" 
    overflowToDisk="false" 
    diskPersistent="false" 
    maxElementsInMemory="100" 
    eternal="false" 
    timeToLiveSeconds="86400" 
    memoryStoreEvictionPolicy="LFU" /> </ehcache> 

сервлет-context.xml

<context:component-scan base-package="com.abc.xyz.*" /> 
<annotation-driven /> 
<resources mapping="/resources/**" location="/resources/" /> 
<beans:import resource="classpath:root-context.xml" /> 

корня context.xml

<cache:annotation-driven cache-manager="cacheManager" /> 
<beans:import resource="classpath:ehcache.xml" /> 
<beans:bean id="cacheManager" 
    class="org.springframework.cache.ehcache.EhCacheCacheManager"> 
    <beans:property name="cacheManager" ref="ehcache" /> 
</beans:bean> 
<beans:bean id="ehcache" 
    class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
    <beans:property name="configLocation" value="classpath:ehcache.xml" /> 
</beans:bean> 

Я использую ниже версии:

  • GAE 1.9.46
  • ehcahe 2,9. 1
  • весна 4.3.2.RELEASE

Спасибо,

ответ

0

Как указано в latest documentation, существуют ограничения при использовании Ehcache на Google App Engine. GAE - это ограниченная среда, в которой некоторые API недоступны.

Вам необходимо удалить бит <cacheManagerEventListenerFactory class="" properties="" /> из вашей конфигурации.

+0

попробовал это тоже, но не работает, такая же ошибка –