Size: a a a

2021 January 26

A

Artjom Kalita in pro.jvm
зачем андерскор... нипанятна
источник

A

Artjom Kalita in pro.jvm
тем более в новых JUnitах есть аннотация @DisplayName в которой можешь написать текстом лучше описание
источник

b

borsch in pro.jvm
в тиме так приняли. весьма удобно отделять then_when
источник

VP

Vladimir Petrakovich in pro.jvm
Artjom Kalita
тем более в новых JUnitах есть аннотация @DisplayName в которой можешь написать текстом лучше описание
Мне кажется, для каждого теста это указывать немного муторно
источник

A

Aleksandr in pro.jvm
Artyom Karnov
Привет!
Подскажите пожалуйста как лучше в spring reactor решить проблему вызова mapping функции на  каждом flux.

Суть такая. Есть один publisher который дает стринги и есть клиенты, которые парсят пришедшие строки и фильтруют дто. Я организовал код вот так

val publisher: Flux<String> = ..

val sub1 = publisher.map{veryExpensiveConverter.convert(it)}
                   .filter(it.metric<10)

val sub2 = publisher.map{veryExpensiveConverter.convert(it)}
                   .filter(it.metric>5)

val sub3 = sub2.map{cheapConverter.convert(it)}
                   .filter(it.metric>8)

Flux.merge(sub1, sub2, sub3, ..., subn)
    .map{//some logic for following data of subscribers}
    .subscribe()

Но получаю что на каждый sub1, sub2, на те же самые входные строки будет вызываться
veryExpensiveConverter

Получается такое

Input1 -> 1) veryExpensiveConverter -> filter1 -> output1

                 2) -> veryExpensiveConverter -> filter2 -> output2

                 3) -> veryExpensiveConverter -> cheapConverter -> filter3 -> output3

А хотелось бы такое

Input1 -> veryExpensiveConverter ->
                                                             1)-> filter1 -> output1  
                                                             2)-> filter2 -> output2
                                                             3)-> cheapConverter -> filter3 -> output3

Как такое можно провернуть?
А горячего паблишера не думали сделать?
источник

A

Aleksandr in pro.jvm
Просто у вас каждый filter на вашем паблишере будет пораждать новую подписку, не знаю на сколько это критично в данном контексте
источник

A

Artjom Kalita in pro.jvm
Vladimir Petrakovich
Мне кажется, для каждого теста это указывать немного муторно
Это да но вдруг тест сложный\интеграционный и не хватает имя метода чтобы описать все что там было
источник

A

Aleksandr in pro.jvm
И в целом не совсем понятно какая у вас задумка. Просто некоторые вещи нормально не реализуются с помощью WebFlux API
источник

..

. . in pro.jvm
Всем привет! Вопрос по стеку Netflix. Когда зарегестрированное приложение удаляется, она пропадает из Eureka мгновенно, но клиенты продолжают стучаться к нему в течении ~120c. Как я понимаю, register кэш не обновился у клиентов. Как ускорить процесс обновления регистров?

Конфиг сервера:
eureka:
   client:
       fetch-registry: false
       register-with-eureka: false
   server:
       response-cache-update-interval-ms: 1000

Клиент:
eureka:
 registryFetchIntervalSeconds: 1
   instance:
     leaseRenewalIntervalInSeconds: 1
 client:
   serviceUrl:
     defaultZone: http://localhost:8761/eureka
ribbon:
 ReadTimeout: 30000
 ConnectionTimeout: 5000
 ServerListRefreshInterval: 1000
источник

RM

Roman Meerson in pro.jvm
. .
Всем привет! Вопрос по стеку Netflix. Когда зарегестрированное приложение удаляется, она пропадает из Eureka мгновенно, но клиенты продолжают стучаться к нему в течении ~120c. Как я понимаю, register кэш не обновился у клиентов. Как ускорить процесс обновления регистров?

Конфиг сервера:
eureka:
   client:
       fetch-registry: false
       register-with-eureka: false
   server:
       response-cache-update-interval-ms: 1000

Клиент:
eureka:
 registryFetchIntervalSeconds: 1
   instance:
     leaseRenewalIntervalInSeconds: 1
 client:
   serviceUrl:
     defaultZone: http://localhost:8761/eureka
ribbon:
 ReadTimeout: 30000
 ConnectionTimeout: 5000
 ServerListRefreshInterval: 1000
должны помогать следующие параметры (значения специально выставлены очень мелкими, настолько мелкими не надо ;))

сервер
eureka:
 server:
   renewal-threshold-update-interval-ms: 1000
 instance:
   lease-expiration-duration-in-seconds: 2
   lease-renewal-interval-in-seconds: 1

клиент
eureka:
 client:
   initial-instance-info-replication-interval-seconds: 2
   instance-info-replication-interval-seconds: 1
   registry-fetch-interval-seconds: 1
источник

..

. . in pro.jvm
Roman Meerson
должны помогать следующие параметры (значения специально выставлены очень мелкими, настолько мелкими не надо ;))

сервер
eureka:
 server:
   renewal-threshold-update-interval-ms: 1000
 instance:
   lease-expiration-duration-in-seconds: 2
   lease-renewal-interval-in-seconds: 1

клиент
eureka:
 client:
   initial-instance-info-replication-interval-seconds: 2
   instance-info-replication-interval-seconds: 1
   registry-fetch-interval-seconds: 1
спасибо чекну
источник

PC

Pavel Churzin in pro.jvm
Добрый день!
Подскажите, как можно сделать интерфейс, который бы расширял Comparable с самим собой.

Точнее как сделать реализацию метода compareTo.

Я сделал интерфейс

interface Version extends Comparable<Version>

Проблема, что метод compareTo принимает Version.

Получается, что реализовать его можно только с кастом? Или есть более красивые варианты?
источник

DC

Denis Chikanov in pro.jvm
Pavel Churzin
Добрый день!
Подскажите, как можно сделать интерфейс, который бы расширял Comparable с самим собой.

Точнее как сделать реализацию метода compareTo.

Я сделал интерфейс

interface Version extends Comparable<Version>

Проблема, что метод compareTo принимает Version.

Получается, что реализовать его можно только с кастом? Или есть более красивые варианты?
>расширял Comparable с самим собой.
В смысле?
источник

PC

Pavel Churzin in pro.jvm
Denis Chikanov
>расширял Comparable с самим собой.
В смысле?
interface Version extends Comparable<Version>
источник

DC

Denis Chikanov in pro.jvm
Pavel Churzin
interface Version extends Comparable<Version>
Тогда почему
>Проблема, что метод compareTo принимает Version.
это проблема?
источник

PC

Pavel Churzin in pro.jvm
Мне не нравится каст в реализации этого метода
источник

б

баккара in pro.jvm
есть яблоко, добавляем к нему еще одно. что получится. загадка от жака симонова, на разгадку 5 минут
источник

DC

Denis Chikanov in pro.jvm
Pavel Churzin
Мне не нравится каст в реализации этого метода
Каст чего к чему?
источник

A

Alex in pro.jvm
Pavel Churzin
Мне не нравится каст в реализации этого метода
неплохо реализацию показать, пока непонятно что не так
источник

A

Alex in pro.jvm
пока по описанию все работает как надо, неясно почему где-то нужен каст
источник