понедельник, 9 января 2017 г.

Статья на хабре про RabbitMQ Delayed Exchange

Опубликовал статью на хабрахабре про использование RabbitMQ Delayed Exchange в Java Spring Framework на примере реальной задачии.

Ссылка: https://habrahabr.ru/post/318118/

Это моя вторая статья на этом ресурсе. Первая статья была про то про то, как получить изображение с оптического сенсора комьютерной мыши с помощью Arduino. Она получила очень много положительных отзывов и про нее даже писали в журнале xakep.ru.

Сейчас ее перенесли с хабрахабра на гиктаймс.

Вот ссылка если кому интересно: https://geektimes.ru/post/256950/

пятница, 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 приложение, включаете запись событий, ждете фиксированное время пока события записываются и затем проводите анализ собранных данных.