Size: a a a

2020 April 22

AB

Alexey Bodyak in pro.jvm
вот что-то типо того пробую, но бина someFeign нет в контексте, вместо него спринг сам делает ему имя, не известное на данном этапе
источник

V

Vladislav in pro.jvm
Ivan Rykov
если конъюнкция, то можно
stream().allMatch(item -> item)
Спасибо, это то что нужно)
источник

BP

Bogdan Panchenko in pro.jvm
Curious Cephalopod
В котлине можно так:
'val booleans = mutableListOf(true, true,true)
   println(booleans.all { it })
Можно просто all()
источник

AG

Alexey Genus in pro.jvm
Alexey Bodyak
Всем привет, хочу написать BeanFactoryPostProcessor, который будет генерировать BeanDefinitions, но есть нюанс, у класса из которого я хочу нагенерить бинов есть ссылка на фейн клиент, который в рантайме имеет имя, отличное от имени класса, из-за прокси. Как можно получить имя бина, если его еще нет? :)
А точно это необходимо. Я однажды пробовал так делать, и тоже ничего не вышло, потому что там слишком много нюансов.
Если отвечать на вопрос, то бин, которого нет, можно получить через его BeanDefinition. Но это тоже ненадежно, потому что возникает зависимость от порядка инициализации.
Кстати, имя бина не зависит от наличия прокси, как оно может меняться?
источник

AB

Alexey Bodyak in pro.jvm
Да, вы правы, имя не изменится, изменится класс, если прокси создастся, context.getBean(SomeService.class).getClass() вернет совершенно другой класс. А относительно BeanDefinition спасибо за ответ, я еще поковыряю
источник

AB

Alexey Bodyak in pro.jvm
А необходимость заключается в том, чтобы от бойлерплейта избавиться хочется :)
источник

AG

Alexey Genus in pro.jvm
Я пришёл к выводу, что иногда лучше чуть больше бойлерплейта, зато будет понятней и - самое главное - идея будет подсказывать. А с этой программной регистрацией она бессильна
источник

IR

Ivan Rykov in pro.jvm
Alexey Genus
Я пришёл к выводу, что иногда лучше чуть больше бойлерплейта, зато будет понятней и - самое главное - идея будет подсказывать. А с этой программной регистрацией она бессильна
+
источник

AB

Alexey Bodyak in pro.jvm
Это да, но иногда можно обойтись и без него) мы даже Annotation processors юзаем :)
источник

AB

Alexey Bodyak in pro.jvm
главное не переборщить
источник

AG

Alexey Genus in pro.jvm
Чтобы резолвить прокси-классы можно использовать что-то вроде org.springframework.util.ClassUtils#getUserClass(java.lang.Class<?>) и вообще посмотреть на этот org.springframework.util.ClassUtils
источник

AB

Alexey Bodyak in pro.jvm
спасибо
источник

AB

Alexey Bodyak in pro.jvm
Alexey Genus
Чтобы резолвить прокси-классы можно использовать что-то вроде org.springframework.util.ClassUtils#getUserClass(java.lang.Class<?>) и вообще посмотреть на этот org.springframework.util.ClassUtils
я понял в чем проблема была, залез в дебаге в контекст и увидел, что имя фейна, которого мы используем от стороннего сервиса - это полное имя класса ru.some.package.SomeFeign, а я указывал просто someFeign
источник

LM

Lucas Mabrey in pro.jvm
Кто-нибудь сталкивался с проблемой, когда после редеплоя у Websphere перестают писаться логи в файлы, описанные в logback? Если запускать сервер с задеплоеным приложением, то логи пишутся
источник

AE

Alter Ego in pro.jvm
Другой вопрос, который кстати тоже про логи. Может вообще быть такое, что логи будут показываться в эластиксёрче (graylog и тп) не в том порядке, в котором они были залогированы?
источник

IR

Ivan Rykov in pro.jvm
смотря по какому полю сортировка идет, если по факту записи в эластик, то могут и не в том порядке, в котором они зафиксированы
источник

IR

Ivan Rykov in pro.jvm
стандартный JSON Layout log4j содержит время возникновения лога
источник

IR

Ivan Rykov in pro.jvm
по нему и нужно строить сортировку в эластике
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in pro.jvm
Подвёз вам перевод JEP-а про Sealed Types

https://habr.com/ru/company/jugru/blog/498494/
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in pro.jvm
(Там наверняка море опечаток, пишите их в личку, пожалуйста)
источник