По какой-то причине я вижу, что объект был передан не нулевым, но в ключевом выражении он уже равен нулю.
Я пытаюсь прочитать некоторые данные из БД и добавить их в кэш.
Вот мои методы.
public void preloadCache() {
List allData = repository.findAll();
log.info("Data found {}", allData.size());
allData.forEach(cacheService::populateQuarterStatisticCache);
}
Вызывается отдельная служба
@Service
@Slf4j
public class CacheService {
@CachePut(value = "quarterStatistic", key = "#statistic.type + '-' + #statistic.location")
public QuarterBusinessesStatistic populateQuarterStatisticCache(Statistic statistic) {
log.info("Loading statistic into cache: {}-{}", statistic.getType(), statistic.getLocation());
return statistic.getData();
}
}
Журналы показывают, что есть один объект, и он не равен нулю.
[nio-8080-exec-1] StatisticClient : Data found 1
[nio-8080-exec-1] CacheService : Preloading statistic into cache: restaurant-New York
Но следующая строка журнала сообщает мне, что
SpelEvaluationException: EL1007E: свойство или поле «тип» не могут быть найдены в значении null
Если Я меняю ключ в аннотации @CachePut на key = "#statistic?.type + '-' + #statistic?.location", исключений не будет. Но в кеше я увижу сохраненный объект по ключу null-null
Я могу отладить его и увидеть, что мой объект не равен нулю. Журналы также подтверждают это. Но в ключевом выражении оно почему-то равно нулю.
У кого-нибудь было так же?
Примечание: я пробовал изменить ключ на что-то вроде
#statistic.getType() + '-' + #statistic.getLocation() — тот же результат
Мой pom.xml
4.0.0
com.example
MyService
1.0-SNAPSHOT
21
3.3.5
org.springframework.boot
spring-boot-starter-web
com.fasterxml.jackson.core
jackson-databind
org.projectlombok
lombok
com.h2database
h2
runtime
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
org.apache.maven.plugins
maven-compiler-plugin
3.13.0
${java.version}
${java.version}
org.springframework.boot
spring-boot-maven-plugin
Подробнее здесь: https://stackoverflow.com/questions/792 ... annotation
Объект стал нулевым в аннотации @CachePut ⇐ JAVA
Программисты JAVA общаются здесь
1732031602
Anonymous
По какой-то причине я вижу, что объект был передан не нулевым, но в ключевом выражении он уже равен нулю.
Я пытаюсь прочитать некоторые данные из БД и добавить их в кэш.
Вот мои методы.
public void preloadCache() {
List allData = repository.findAll();
log.info("Data found {}", allData.size());
allData.forEach(cacheService::populateQuarterStatisticCache);
}
Вызывается отдельная служба
@Service
@Slf4j
public class CacheService {
@CachePut(value = "quarterStatistic", key = "#statistic.type + '-' + #statistic.location")
public QuarterBusinessesStatistic populateQuarterStatisticCache(Statistic statistic) {
log.info("Loading statistic into cache: {}-{}", statistic.getType(), statistic.getLocation());
return statistic.getData();
}
}
Журналы показывают, что есть один объект, и он не равен нулю.
[nio-8080-exec-1] StatisticClient : Data found 1
[nio-8080-exec-1] CacheService : Preloading statistic into cache: restaurant-New York
Но следующая строка журнала сообщает мне, что
SpelEvaluationException: EL1007E: свойство или поле «тип» не могут быть найдены в значении null
Если Я меняю ключ в аннотации @CachePut на key = "#statistic?.type + '-' + #statistic?.location", исключений не будет. Но в кеше я увижу сохраненный объект по ключу null-null
Я могу отладить его и увидеть, что мой объект не равен нулю. Журналы также подтверждают это. Но в ключевом выражении оно почему-то равно нулю.
У кого-нибудь было так же?
Примечание: я пробовал изменить ключ на что-то вроде
#statistic.getType() + '-' + #statistic.getLocation() — тот же результат
Мой pom.xml
4.0.0
com.example
MyService
1.0-SNAPSHOT
21
3.3.5
org.springframework.boot
spring-boot-starter-web
com.fasterxml.jackson.core
jackson-databind
org.projectlombok
lombok
com.h2database
h2
runtime
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
org.apache.maven.plugins
maven-compiler-plugin
3.13.0
${java.version}
${java.version}
org.springframework.boot
spring-boot-maven-plugin
Подробнее здесь: [url]https://stackoverflow.com/questions/79201829/object-became-null-in-cacheput-annotation[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия