Size: a a a

2020 August 17

ИВ

Илья Высоцкий... in learn.java
В том то и дело что просто нуллПоинтерЕксепшен, и непонятно что вообще не так
источник

GI

Grigorij I. in learn.java
если Аппликейшн этот с @Springbootapplication, то поему надо @SpringBootTest использовать

дао не понятно тебе надо чтоб инжектилось, а ты сам инициализируешь
источник

Э

Эд in learn.java
Вам нравится читать код проксей спринговых?
источник

D

Dima in learn.java
Илья Высоцкий
Нагуглил такой вот вариант, и не пойму как докрутить чтоб работало. Вроде все есть, база есть, темплейт есть, дао есть. Все должно посвязываться и заработать. ан нет. Подскажите кто может.
на скриншоте код написан неправильно
источник

D

Dima in learn.java
Илья Высоцкий
валится на 49 строчке, нуллПоинтерЕксепшн. Значит ли это что база хоть поднялась и работает? или не обязательо?
ты можешь просто уделить время и прочитать про тесты в спринг буте?
источник

D

Dima in learn.java
про JUnit5, @SpringBootTest, TestContainers
источник

D

Dima in learn.java
как работает @Autowired
источник

D

Dima in learn.java
у тебя бред несусветный написан
источник

D

Dima in learn.java
@Autowired
GroupDao dao = new GroupDao();

особенно вот это
источник

GI

Grigorij I. in learn.java
вот да. конструктивный фидбек)
источник

D

Dima in learn.java
полностью противоречит идеи спринга
источник

D

Dima in learn.java
источник

D

Dima in learn.java
источник

D

Dima in learn.java
источник

D

Dima in learn.java
источник

D

Dima in learn.java
источник

RG

Rinchin G in learn.java
подскажите пожалуйста, почему не отрабатывает прерывание в многопоточности?

есть основной поток в котором задаю

ExecutorService executor = Executors.newFixedThreadPool(threadCount);

for (String camera : cameras) {

     executor.submit(

         () -> {
...

               while (attempts < 200) {

                   if (!Thread.currentThread().isInterrupted()) {    //////////// здесь всегда возвращается true
                   log.info(Thread.currentThread().isInterrupted())              //вывод всегда false

         }

другом потоке я вызываю
executor.shutdownNow();
источник

DS

Dmitriy Shilnikov in learn.java
Rinchin G
подскажите пожалуйста, почему не отрабатывает прерывание в многопоточности?

есть основной поток в котором задаю

ExecutorService executor = Executors.newFixedThreadPool(threadCount);

for (String camera : cameras) {

     executor.submit(

         () -> {
...

               while (attempts < 200) {

                   if (!Thread.currentThread().isInterrupted()) {    //////////// здесь всегда возвращается true
                   log.info(Thread.currentThread().isInterrupted())              //вывод всегда false

         }

другом потоке я вызываю
executor.shutdownNow();
А что ты именно хочешь увидеть? Ты же логгируешь только есть !isInterrupted()?
источник

DS

Dmitriy Shilnikov in learn.java
Rinchin G
подскажите пожалуйста, почему не отрабатывает прерывание в многопоточности?

есть основной поток в котором задаю

ExecutorService executor = Executors.newFixedThreadPool(threadCount);

for (String camera : cameras) {

     executor.submit(

         () -> {
...

               while (attempts < 200) {

                   if (!Thread.currentThread().isInterrupted()) {    //////////// здесь всегда возвращается true
                   log.info(Thread.currentThread().isInterrupted())              //вывод всегда false

         }

другом потоке я вызываю
executor.shutdownNow();
источник
2020 August 18

RG

Rinchin G in learn.java
Dmitriy Shilnikov
А что ты именно хочешь увидеть? Ты же логгируешь только есть !isInterrupted()?
Я понял в чем у меня проблема, в executors помимо того что я записываю log.info

я еще обращаюсь webclient'ом к ресурсу и пытаюсь забрать данные

     webClient
         .get()
         .uri(urlLink)
         .header("X-Requested-With", "XMLHttpRequest")
         .exchange()
         .flatMap(response -> {
           if (!response.statusCode().is2xxSuccessful()) {
             return Mono.error(new RuntimeException("Internal server error"));
           } else {
             return response.bodyToMono(ByteArrayResource.class);
           }
         }).map(ByteArrayResource::getByteArray)
         .block();                  < < ——————————проблема здесь

Из за метода block не может завершиться поток

без него все работает хорошо,

а вот как это решить пока без понятия
источник