Size: a a a

2020 February 26

AE

Alter Ego in pro.jvm
>test - This scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases. This scope is not transitive.
источник

IG

Ilya Grudsky in pro.jvm
Alter Ego
Привет, небольшой вопрос на счет Maven.

Допустим, у меня есть некая папочка со стартерами. Эти стартеры имеют некие общие зависимости. Ну скажем так, стартер A и B имеют общую зависимость, которую я могу вынести на уровень выше. Документация говорит нам о том, что мы можем так сделать: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html


Но при этом у меня по факту стартеры не подсасывают эту самую общую зависимость на тесты. Где может быть косяк в конфигурации?

<dependencyManagement>
<dependencies>

<dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-test</artifactId>
               <scope>test</scope>
           </dependency>

</dependencies>
</dependencyManagement>


В скоупе test?
Убери dependencyManagement
источник

AE

Alter Ego in pro.jvm
Ilya Grudsky
Убери dependencyManagement
Ты уверен?
источник

AE

Alter Ego in pro.jvm
В доке просто пишут как раз это с dependencyManagment.
источник

Е

Евгений in pro.jvm
dima
Stream.of(1)
     .map(i -> new Object() {
         private int left = i * 2;
         private int right = i * 3;

         @Override
         public String toString() {
             return "[" + left + "," + right + "]";
         }
     })
     .filter(o -> o.left < 10 && o.right > 0)
     .forEach(System.out::println);
еще есть вот такой прекрасный баг
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021581
источник

А

Александр in pro.jvm
Ребят, всем привет! Скажите, вот за такой код руки отрывать нужно или норм?
Mono<ClientResponse> resp = responce.flatMap(response -> {
           if (!response.statusCode().is2xxSuccessful())
return Mono.error(new Exception(response.statusCode().toString()));
           return Mono.just(response);
       });


resp.subscribe(
               success -> {
                   try {
                       success.bodyToMono(NewsJsonWraper.class)
                       .subscribe(i -> i.getNews().forEach(System.out::println));
                   } catch (Exception e) {
                       LOGGER.error("Parse error "+e);
                   }
               },
               error -> {
                   LOGGER.error("API returns error response "+error);
               });
   }
меня сильно смущает часть где из sucsess мы получаем опять mono чтобы подписаться и сделать bodyToMono... мне кажется это можно как-то упростить, но не пойму как
источник

А

Александр in pro.jvm
если нечитаемо то вот pastebin https://pastebin.com/rrX5vTS4
источник

d

dima in pro.jvm
Александр
Ребят, всем привет! Скажите, вот за такой код руки отрывать нужно или норм?
Mono<ClientResponse> resp = responce.flatMap(response -> {
           if (!response.statusCode().is2xxSuccessful())
return Mono.error(new Exception(response.statusCode().toString()));
           return Mono.just(response);
       });


resp.subscribe(
               success -> {
                   try {
                       success.bodyToMono(NewsJsonWraper.class)
                       .subscribe(i -> i.getNews().forEach(System.out::println));
                   } catch (Exception e) {
                       LOGGER.error("Parse error "+e);
                   }
               },
               error -> {
                   LOGGER.error("API returns error response "+error);
               });
   }
меня сильно смущает часть где из sucsess мы получаем опять mono чтобы подписаться и сделать bodyToMono... мне кажется это можно как-то упростить, но не пойму как
bodyToMono(NewsJsonWraper.class) надо было делать в первом flatMap
источник

d

dima in pro.jvm
return Mono.just(response); <- вместо этого
источник

d

dima in pro.jvm
Александр
Ребят, всем привет! Скажите, вот за такой код руки отрывать нужно или норм?
Mono<ClientResponse> resp = responce.flatMap(response -> {
           if (!response.statusCode().is2xxSuccessful())
return Mono.error(new Exception(response.statusCode().toString()));
           return Mono.just(response);
       });


resp.subscribe(
               success -> {
                   try {
                       success.bodyToMono(NewsJsonWraper.class)
                       .subscribe(i -> i.getNews().forEach(System.out::println));
                   } catch (Exception e) {
                       LOGGER.error("Parse error "+e);
                   }
               },
               error -> {
                   LOGGER.error("API returns error response "+error);
               });
   }
меня сильно смущает часть где из sucsess мы получаем опять mono чтобы подписаться и сделать bodyToMono... мне кажется это можно как-то упростить, но не пойму как
ну и соответственно не уверен насчет трай кэтч в сабскрайбе для парсинга json, там же метод не кидает чекед, значит в случае помещения его во флэтмэп до сабскрайба, если будет ошибка, она будет в error коллбэке
источник

Е

Евгений in pro.jvm
Александр
если нечитаемо то вот pastebin https://pastebin.com/rrX5vTS4
нечитаемо, и пастбин тут не поможет
источник

А

Александр in pro.jvm
dima
bodyToMono(NewsJsonWraper.class) надо было делать в первом flatMap
спасибо, сейчас попробую
источник

U

UsernameAK in pro.jvm
а можно ли в спринге использовать разные внешние application.properties для нескольких приложений в одном контейнере?
источник

D

Dan in pro.jvm
UsernameAK
а можно ли в спринге использовать разные внешние application.properties для нескольких приложений в одном контейнере?
Если я тебя правильно понял то посмотри в сторону spring.active.profiles
источник

PS

Petr Stroganov in pro.jvm
UsernameAK
а можно ли в спринге использовать разные внешние application.properties для нескольких приложений в одном контейнере?
Вроде в параметрах запуска приложения можно указать
— spring.config.location
источник

U

UsernameAK in pro.jvm
Petr Stroganov
Вроде в параметрах запуска приложения можно указать
— spring.config.location
это не совсем то что мне нужно, но я уже нашёл
источник

AS

Akzhol Satinov in pro.jvm
Есть код Object *o = new Object
В java когда создается объект он сначала находится в young generation, если на этот объект все еще будет ссылка, то она переместится в old generation, так вот если указатель o ссылается на объект который изначально был в young generation изменится на адресс в old generation?
источник

ch

central hardware in pro.jvm
Akzhol Satinov
Есть код Object *o = new Object
В java когда создается объект он сначала находится в young generation, если на этот объект все еще будет ссылка, то она переместится в old generation, так вот если указатель o ссылается на объект который изначально был в young generation изменится на адресс в old generation?
а в чем вопрос?
источник

OO

Oleksandr Olgashko in pro.jvm
Akzhol Satinov
Есть код Object *o = new Object
В java когда создается объект он сначала находится в young generation, если на этот объект все еще будет ссылка, то она переместится в old generation, так вот если указатель o ссылается на объект который изначально был в young generation изменится на адресс в old generation?
да
источник

QH

Quantum Harmonizer in pro.jvm
Akzhol Satinov
Есть код Object *o = new Object
В java когда создается объект он сначала находится в young generation, если на этот объект все еще будет ссылка, то она переместится в old generation, так вот если указатель o ссылается на объект который изначально был в young generation изменится на адресс в old generation?
да, корректная JVM никогда не сегфолтнется ни с каким кодом
источник