
# 自定义缓存key读取失败
#### 问题描述
运行时报错**com.huaweicloud.devspore.clientcontrol.core.ClientControlCacheComponent\] \[ERROR\] - \[Expression \[xxxxx\] @xx: ELxxxx\]**。
#### 解决方案
此报错是因为使用了自定义缓存key的功能，注解中配置了@clientcontrol(rules='xxxx', key='xxxxxx')此处key的解析使用的是标准的spring的spel表达式的解析，如果报了如上错误，需要自行排查el表达式的写法是否正确。
如果实在排查不出来el表达式的问题，用户也可以选择使用自定义类的方式去生成指定的缓存key值@ClientControl(rule = "retryTest", policy = CacheOrder.CACHEFIRST, cacheManagerName = "cacheCaffine",keyGenerator = "myKeyGenerator")，其中，keyGenerator属性配置的就是自定义缓存key生成器的bean名称。
如果用户没有必须自定义缓存key的需求，可以不配置这两个属性，clientcontrol会自动生成缓存key的，生成的规则是：全路径限定名+方法名+参数的sha256，clientcontrol提供了一个公共方法来获取这个key值。ClientControlCommonHandle.getCacheKey(final String className, final String methodName, final Object\[\] args), 此处是伪代码，方法中传入的是全路径限定类名、方法名和参数集合。
