Исправить исключение SpelEvaluationException: EL1007E в изменениях Cachable.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Исправить исключение SpelEvaluationException: EL1007E в изменениях Cachable.

Сообщение Anonymous »

Когда я вызываю функцию @CachePut, я получаю сообщение об ошибке:
org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'universalId' cannot be found on null.

universalId — это одно из полей CreateAccountRequest, но оно не смогло найти и сгенерировать ключ в кеше Redis. Он использует Spring-Boot 3.3.4. Другой мой проект, который использует Spring-Boot 3.3.4 и тот же формат SPEL (@CachePut(cacheNames = "IdentifierCache", key = "#userRoles.identifier", condition = "#root.target.caching=='enable'")) не имеет этой проблемы и может сохранять ключ в кеше.
Почему это происходит?
@CachePut(cacheNames = "account", key = "#createAccountRequest.universalId", cacheManager = "demoAccountCacheManager")
public AccountDetails createAccount(CreateAccountRequest createAccountRequest) {

AccountDetails accountDetails = new AccountDetails.Builder()
.universalId(createAccountRequest.getUniversalId())
.accountId(BigDecimal.valueOf(437))
.clientId(BigDecimal.valueOf(752))
.fileRolePresent(createAccountRequest.getUniversalId() != Keys.ACCOUNT_WITHOUT_EFILING_ROLE)
.cardRegistered(true)
.create();

this.accountDetailsCache.put(accountDetails);

return accountDetails;

}

public class CreateAccountRequest {

private String universalId;
private String firstName;
private String lastName;
private String middleName;
....
}

pom.xml

org.springframework.boot
spring-boot-starter-data-redis


org.springframework.data
spring-data-redis


redis.clients
jedis



Подробнее здесь: https://stackoverflow.com/questions/791 ... le-changes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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