Size: a a a

Java Web and more

2020 August 20

RS

Ruslan Stelmachenko in Java Web and more
Тут ведь надо, чтобы мой код вызвался ПОСЛЕ того, как спирнг просеттит все филды из энвайронмента/конфиг-файлов, но ДО валидации. BDPP тут едва ли поможет.
источник

C

Captcha bot in Java Web and more
Andrey Fedorov, если ты не бот, нажми "шесть". Ботов удалено: 148.
источник

C

Captcha bot in Java Web and more
Williams, если ты не бот, нажми "семь". Ботов удалено: 148.
источник

C

Captcha bot in Java Web and more
Williams, если ты не бот, нажми "семь". Ботов удалено: 148.
источник

C

Captcha bot in Java Web and more
Frankie, если ты не бот, нажми "шесть". Ботов удалено: 148.
источник

RS

Ruslan Stelmachenko in Java Web and more
Дмитрий
Как вариант - попробовать ловить бин дефинишн через Бин пост процессор. Не знаю когда вызывается валидация, надо копать, но я бы попробовал так
Нашел способ.

есть такой интерфейс ConfigurationPropertiesBindHandlerAdvisor.
если создать такой бин в контексте, то биндер спринга обернет свой BindHandler в него и там можно выполнить какую-то логику перед вызовом делегата. Делегат в данном случае будет ValidationBindHandler.

Примерно вот так:

@Configuration
public class TestConfig {

 @Bean
 ConfigurationPropertiesBindHandlerAdvisor myConfigPropertiesBindHandlerAdvisor() {
   return parentBindHandler -> new AbstractBindHandler(parentBindHandler) {
     @Override
     public void onFinish(ConfigurationPropertyName name, Bindable<?> target, BindContext context, Object result) throws Exception {
       System.out.println(String.format("onFinish(%s, %s, %s, %s)", name, target, context, result));
       if (result instanceof MyConfigProperties) {
         MyConfigProperties props = (MyConfigProperties) result;
         // Do some logic
       }
       parentBindHandler.onFinish(name, target, context, result);
     }
   };
 }

}

Это конечно очень сырое решение, тут неплохо бы проверять не на конкретный класс пропертей, а придумать какой-то интерфейс, который твой поперти-класс должен имплементить, и тогда данный BindHandler вызовет некий callback-метод данного интерфейса.

Но в целом подход работает. Надо бы разработчикам бута предложить добавить подобный адвайс в дефолтную поставку. :)
источник
2020 August 21

C

Captcha bot in Java Web and more
Sumit, код неверный, обратись к админу.
источник

C

Captcha bot in Java Web and more
Gavin Deane, если ты не бот, нажми "два". Ботов удалено: 148.
источник

C

Cyclone in Java Web and more
Ребята, а почему так бин не создаётся? Хочу, чтобы этот бин создавался, если нет других бинов, реализующих этот интерфейс.

@Component
@ConditionalOnMissingBean(MyInterface.class)
public class MyInterfaceStupidImpl implements MyInterface {

Обычно Conditional'ы в @Configuration использую, но тут говорят, что можно и на стереотипы вешать.
источник

PD

Plomipu Dmitri in Java Web and more
народ. Доброе время суток. Есть важный вопрос: разрабы спринга уже свой подфреймворк для юнит тестов подстроили под JUnit5 ? А то уже устал ждать. Я всё жду пока я смогу писать под спринг тесты( @SpringBootTest ) без всей этой свистопляски с подкручиванием JUnit Vintage Engine.
источник

N

Nick in Java Web and more
Давным давно работает, @ExtendWith(SpringExtension.class)
источник

Д

Данияр in Java Web and more
Всем привет! в Java есть метод который отдает на выполнение таски определенное время и по истечению завершает? Типо написал время выполнения 2 часа, и спустя 2 часа таска завершается независимо выполнилась до конца она или нет?
источник

q

qwerty in Java Web and more
Всем привет, нужен совет.
У меня тут возникает ошибка с бд org.postgresql.util.PSQLException: Запрос не вернул результатов.
Я щас пытаюсь удалить дата в бд есть дата но таких ошибки даёт
источник

Д

Данияр in Java Web and more
сталкивался кто-нибудь, не?
источник

C

Captcha bot in Java Web and more
عسل جون, если ты не бот, нажми "три". Ботов удалено: 149.
источник

AE

Alexandr Emelyanov in Java Web and more
Данияр
Всем привет! в Java есть метод который отдает на выполнение таски определенное время и по истечению завершает? Типо написал время выполнения 2 часа, и спустя 2 часа таска завершается независимо выполнилась до конца она или нет?
какого рода таска?
источник

Д

Данияр in Java Web and more
Alexandr Emelyanov
какого рода таска?
implements Runnable
источник

AE

Alexandr Emelyanov in Java Web and more
Данияр
implements Runnable
в треде запускается?
источник

Д

Данияр in Java Web and more
через ScheduledExecutorService запускаю
источник

Д

Данияр in Java Web and more
Alexandr Emelyanov
в треде запускается?
не в отдельном потоке
источник