
Aleksander
31.03.2017
08:28:55
Уходим часа в 2-3 ночи
:)))
А впереди выходные :))) что-то мне страшно

Sergey
31.03.2017
08:29:53
forName блокирует все потоки?

Google

Aleksander
31.03.2017
08:30:52
Уже нет. Теперь в спринге блокировка на создании прототипного бина.
Но было так

Sergey
31.03.2017
08:31:14
https://bugs.openjdk.java.net/browse/JDK-8072592 что-то типа такого?

Aleksander
31.03.2017
08:33:14
Не, дедлока нет. Он просто ищет несуществующий класс на класспасе:) многопоточно при каждом вызове к сторонней системе
У нас почти последняя версия джавы, а тикетос на старую какую-то

Alexey
31.03.2017
08:35:08
Может где что что то weak ?(как версия)

Aleksander
31.03.2017
08:35:10
И у нас гц работал как бешеный, но в cxf виков очень мало

Roman
31.03.2017
08:36:55

Aleksander
31.03.2017
08:37:15
В класслоадере:)) а сейчас в спринге
Наши локи это куча join к CompletableFuture

guga
31.03.2017
08:41:41
тут книжек подвезли

Google

guga
31.03.2017
08:41:43
https://www.packtpub.com/packt/offers/free-learning

Vlad
31.03.2017
08:49:10
ребята, какую NotNull аннотацию надо юзать, чтобы идея ругалась если ты в переопределенном методе возвращаешь null ?

Евгений
31.03.2017
08:50:53
она там одна

Vlad
31.03.2017
09:04:03
org.jetbrains.annotations.NotNull
вот эта?

Евгений
31.03.2017
09:04:11
yep

Ruslan
31.03.2017
09:20:39
Можно поменять в настройках
Так что лучше выбрать из того что уже есть в зависимостях проекта возможно
Например jsr305

Snow
31.03.2017
09:29:53
А из оьычного javax или чо там не катит?


Aleksander
31.03.2017
09:33:36
Всем привет! Ребят, нужны мысли, недавно выкатили релиз в котором сделали многопоточный процессинг запросов к серверу, у нас много запросов к внешним системам, мы использовали, как http клиент jersey. Все было хорошо, оно запускается, мы даём нагрузку - все летает, уходим домой, утром начинается адский расколбас, менеджеры бегают все горит. Открываем профайлер, оно блокирует все потоки где-то в jersey на вызове class.forName в мониторе класслоадера. Мы за 5 часов выкорчевываем jersey, ставим cxf, включаем, все снова космос, приходим утром все то же самое, смотрим профайлер опять forName, но в cxf, дебажим, конфигурируем, forName больше не вызывается. Уходим, утром снова пипец - теперь блокируемся где-то в спринге(т.к. Cxf через него настраивается). В общем, я к чему, как диагностировать такие проблемы, и в сторону чего двигаться? У нас постоянно происходит после выкидывания блокировки в одном месте застревание в другом:)))))
Короче, выпилили конфигурирование, через спринг:)) и даём нагрузку - надеюсь, поможет


Snow
31.03.2017
09:37:23
Или сразу на кемел перейдете?

Aleksander
31.03.2017
09:43:07
:))) нет, спасибо :) у меня уже были идеи перейти на restlet(выбирал http клиент по дизайну сайта разработчика), но упираемся уже в socket.read, и пока живём под 600 rps

Alexander
31.03.2017
09:43:10
Сдается мне, что тут дело не в тулзах

Aleksander
31.03.2017
09:43:37
Конечно нет.

Alexey
31.03.2017
09:58:42

Aleksander
31.03.2017
10:08:16
Все сломалось. :) убрали пользователей, проц упёрся в 100 процентов, похоже коннекшены не закрываются
Может быть наоборот без нагрузки все ломается?
Ломается, у нас просто не освобождаются коннекшены походу, и на каждый запрос создаются новые. Под нагрузкой - мы умираем быстрее, после снятия пользунов- нода не восстанавливается. Приходится ребутать.

Google

Snow
31.03.2017
10:15:11
А как зависят исходящие конекты от клиентов?

Aleksander
31.03.2017
10:18:38

Snow
31.03.2017
10:19:15
Как именно зависит колличество и состояние исходящих коннекшенов от подключенных клиентов?
клиенты что порождают потоки на другие хосты?
типа прокси или что то в этом духе?

Aleksander
31.03.2017
10:20:22
Да, именно. Во время обработки запроса пользователя, мы идём к куче внешних сред, через нашу прокси.
Собираем ответы и выплёвываем клиенту респонз
Ну и естественно все внешние среды опрашиваются параллельно, но это нюансы.

Snow
31.03.2017
10:25:48
И ответ от клиентов нужен гарантированный?
от внешних сред
или можно дропать по таймауту

Aleksander
31.03.2017
10:27:02
Дропаем по тайм-ауту

Aleksander
31.03.2017
10:27:18
Собираем куцый ответ, но ответ :)

Yegor
31.03.2017
10:32:47
Коллеги, вот рецензия на Elegant Objects (моя книга про ООП) от @JBaruch (публикуется впервые): http://www.yegor256.com/pdf/2017/elegant-objects-jbaruch.pdf

Mikhail
31.03.2017
10:34:00
как проще всего купить, на Амазоне?
не в Россию

Baruch
31.03.2017
10:34:35

Oleg
31.03.2017
10:34:55
а сама книга?

Mikhail
31.03.2017
10:35:09

Google

Митко Соловец?
31.03.2017
10:35:11

Andrey
31.03.2017
10:35:48

Oleg
31.03.2017
10:35:54
ООП Лобачевского, надо запомнить ))
название книги дайте

Admin
ERROR: S client not available

Andrey
31.03.2017
10:36:01
Даже видно, что Барух сам это набирал)

Yegor
31.03.2017
10:36:05

Snow
31.03.2017
10:36:08
Собираем куцый ответ, но ответ :)
Разпаралелить на много нод. Использовать месседжи JMS На нодах mbean воркеры консьюмеры с общей очереди. Аппликуха клиентов формирует типизированный месадж для воркеров и ждет асинхронный ответ от воркера через jms. mbean воркера парсит месадж, и асинхронно опрашивает хосты, отвечает главной аппликухе. Все асинхронно, все через JMS. Масштабируется хорошо

Andrey
31.03.2017
10:36:14

Yegor
31.03.2017
10:36:29

Oleg
31.03.2017
10:36:34
спс

Mikhail
31.03.2017
10:36:35

Denis
31.03.2017
10:36:58
Кактус какбы намекает

Aleksander
31.03.2017
10:37:27

Andrey
31.03.2017
10:37:29

Denis
31.03.2017
10:37:39
б-же упаси

Snow
31.03.2017
10:37:46

Andrey
31.03.2017
10:37:52

Denis
31.03.2017
10:38:09
что читать будет приятно
А вообще любопытно очень

Google

Del
31.03.2017
10:38:33
что колется

Aleksander
31.03.2017
10:39:01

Oleg
31.03.2017
10:39:06
@Namelles_One если что, я тебе в Самару притащу

FF
31.03.2017
10:39:22
Коллеги, посоветуйте хорошее чтиво по спрингу

Mikhail
31.03.2017
10:39:28
точняк!
Егор, продай Олегу две

Snow
31.03.2017
10:39:39

Yegor
31.03.2017
10:39:47

Mikhail
31.03.2017
10:39:53

Oleg
31.03.2017
10:40:06

Sergey
31.03.2017
10:40:09

Mikhail
31.03.2017
10:40:17
А что-то в подкасте было про русский тираж
хз что там Егор повезет