Весенний кеш - нулевой ключ возвращен для работы кэшаJAVA

Программисты JAVA общаются здесь
Anonymous
Весенний кеш - нулевой ключ возвращен для работы кэша

Сообщение Anonymous »

Я работал с абстракцией весеннего кэша и ehcache. Я использую аннотацию @cachable на целевом методе, как SO:

Код: Выделить всё

@Component
public class DataService {
@Cacheable(value="movieFindCache", key="#name")
public String findByDirector(String name) {
return "hello";
}
}
< /code>
Это мой тест на Junit: < /p>
public class ServiceTest extends AbstractJUnit4SpringContextTests{

@Resource
private DataService dataService;

@Test
public void test_service() {
System.err.println(dataService.findByDirector("Hello"));
}
}
< /code>
Это не работает нормально, когда я отлаживаю с тестированием Junit. Он бросает allogalargumentException 
следующим образом:

Код: Выделить всё

java.lang.IllegalArgumentException: Null key returned for cache operation (maybe you are using named params on classes without debug info?) CacheableOperation[public java.lang.String com.eliteams.quick4j.web.service.ExcelDataService.getCarData()] caches=[movieFindCache] | key='#name' | condition='' | unless=''
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.cache.interceptor.CacheAspectSupport.generateKey(CacheAspectSupport.java:315)
at org.springframework.cache.interceptor.CacheAspectSupport.collectPutRequests(CacheAspectSupport.java:265)
< /code>
У меня есть следующая конфигурация: < /p>
applicationcontext.xml:



< /code>
ehcache.xml:









Примечание. Если я не укажу «ключ» в аннотациях @cachable , он работает.
Есть ли что -нибудь, что я забыл указать? конфигурация? Аннотации?

Подробнее здесь: https://stackoverflow.com/questions/298 ... -operation

Вернуться в «JAVA»