пятница, 16 декабря 2016 г.

Отложенная обработка событий с помощью RabbitMQ Delayed Message


Хочу поделиться очень интересным и простым способом отложенной обработки событий. Для чего это нужно? Простой пример - вам нужно уведомить сторонний сервис о неком событии. Если он не подтвердил получение вашего уведомления, то надо уведомить его еще раз через X минут. Эту задачу очень просто решить с помощью RabbitMQ.


RabbitMQ по умолчанию не умеет откладывать сообщения, они доставляются сразу после публикации. Функционал отложенной доставки доступен в виде плагина rabbitmq-delayed-message-exchange.

среда, 16 ноября 2016 г.

Отладка Java приложений на удаленной машине


При разработке Java приложений иногда возникают ошибки, которые сложно или долго воспроизвести локально, на рабочей машине. В таких ситуациях можно воспользоваться специальным протоколом связи между отладчиком и виртуальной машиной Java. Называется этот протокол Java Debug Wire Protocol (JDWP) и его поддержка реализована в IntelliJ IDEA и Eclipse.


Далее я покажу как настроить отладку удаленного приложения в популярных Java IDE.


среда, 2 ноября 2016 г.

Профилируем Java приложения используя Java Mission Control

В этой статье я расскажу о том, что такое Java Mission Control и чем он может помочь.

Начиная с 7u40 в составе Oracle JDK появился GUI инструмент для реалтайм мониторинга и профилирования JVM. Он позволяет собрать очень много информации о JVM процессе, найти узкие места и проблемы, которые влияют на производительность.




С точки зрения пользователя, вы запускаете ваше Java приложение, включаете запись событий, ждете фиксированное время пока события записываются и затем проводите анализ собранных данных.