Page 1 of 1

Feder -Cache - Null -Taste für den Cache -Betrieb zurückgegeben

Posted: 17 Jul 2025, 04:33
by Anonymous
Ich habe mit Spring -Cache -Abstraktion und EHCache gearbeitet. Ich verwende die @cacheable Annotation für eine Zielmethode wie SO:

Code: Select all

@Component
public class DataService {
@Cacheable(value="movieFindCache", key="#name")
public String findByDirector(String name) {
return "hello";
}
}
< /code>
Dies ist mein JUNIT -Test: < /p>
public class ServiceTest extends AbstractJUnit4SpringContextTests{

@Resource
private DataService dataService;

@Test
public void test_service() {
System.err.println(dataService.findByDirector("Hello"));
}
}
< /code>
Dies funktioniert nicht gut, wenn ich mit dem Junit -Test debuggen. Es wirft eine IllegalArgumentException 
wie folgt aus:
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>
Ich habe die folgende Konfiguration: < /p>
ApplicationContext.xml:



< /code>
eHcache.xml:







< /code>

Hinweis: Wenn ich die "Schlüssel" in den Annotationen @cacheable nicht angeben, funktioniert es. Konfiguration? Anmerkungen?