Pull to refresh
0
Karma
0
Rating

Senior java developer

  • Followers
  • Following 3

Optional: Кот Шрёдингера в Java 8

.map()
Этот метод полностью повторяет аналогичный метод для stream()

Это не так. Optional.map не работает в случае null значения, а Stream.map работает

Разработка telegram бота с использованием Spring

Сомнительное решение.
1. В методе TelegramUpdateHandlerBeanPostProcessor.postProcessAfterInitialization аргумент bean — это прокся, у которой на методах уже нет никаких аннотаций.
Решение: заменить обращения к bean на botControllerMap.get(beanName)
2. TelegramUpdateHandlerBeanPostProcessor вызывается в середине процесса настройки бинов. Сохраняемый «контроллер» не факт, что полностью настроен.
Решение: наполнять контейнер только после инициализации всего спринга (например, через ApplicationListener). Или сохранять не конкретный «контроллер», а его beanName, чтобы в момент обработки брать настроенный «контроллер» из контекста спринга.
3. Если «контроллер» будет иметь скоуп отличный от синглтона, то это решение тоже работать не будет, так как его создание будет происходить не при старте спринга, а когда-то.
Решение: наполнять контейнер на этапе BeanFactoryPostProcessor, сохраняя тройки path-beanName-method

Information

Rating
Does not participate
Date of birth
Registered
Activity