Является ли GAE поддерживает операцию Ehcache по записи?


Я пытаюсь создать веб-приложение, которое использует ehcache для хранения и извлечения данных. Для меня следующая конфигурация работает нормально.

<?xml version="1.0" encoding="UTF-8"?> 
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="ehcache.xsd" > 
    <cacheManagerEventListenerFactory class="" properties=""/> 
    <defaultCache 
       maxElementsInMemory="10000" 
       eternal="false" 
       timeToIdleSeconds="120" 
       timeToLiveSeconds="120" 
       memoryStoreEvictionPolicy="LRU"> 
       <!-- <persistence strategy="none"/>  -->
    </defaultCache> 
    <cache name="st" 
      maxElementsInMemory="10000" 
      eternal="false" 
      timeToIdleSeconds="300" 
      timeToLiveSeconds="600" 
      memoryStoreEvictionPolicy="LRU" 
       />        
</ehcache>

Но после введения Операции обратной записи я получаю следующую ошибку.

Config:

<?xml version="1.0" encoding="UTF-8"?> 
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="ehcache.xsd" > 
    <cacheManagerEventListenerFactory class="" properties=""/> 
    <defaultCache 
       maxElementsInMemory="10000" 
       eternal="false" 
       timeToIdleSeconds="120" 
       timeToLiveSeconds="120" 
       memoryStoreEvictionPolicy="LRU"> 
       <!-- <persistence strategy="none"/>  -->
    </defaultCache> 
    <cache name="st" 
      maxElementsInMemory="10000" 
      eternal="false" 
      timeToIdleSeconds="300" 
      timeToLiveSeconds="600" 
      memoryStoreEvictionPolicy="LRU" 
       > 
       <!-- <persistence strategy="none"/>  -->
            <cacheWriter writeMode="write-behind" maxWriteDelay="8" rateLimitPerSecond="5"
      writeCoalescing="true" writeBatching="true" writeBatchSize="20"
      retryAttempts="2" retryAttemptDelaySeconds="2">
           <cacheWriterFactory class="com.gowtham.st.shared.STWriterFactory" />
        </cacheWriter>
       </cache>
</ehcache>

Ошибка:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sT' defined in file [/base/data/home/apps/s~google-test-40392/1.383872259417297841/WEB-INF/classes/com/gowtham/st/server/ST.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.gowtham.st.server.ST]: Constructor threw exception; nested exception is java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
Есть ли какой-либо другой способ достичь этого?
1 2

1 ответ:

Поскольку Ehcache write-behind использует потоки напрямую, вы не сможете заставить его работать на GAE из коробки. Разработка необходима, чтобы абстрагировать создание потока и затем предоставить модуль интеграции GAE.