Pull to refresh

Диагностируем причину, выживаем в JAR hell: не дышим серой и не варимся в котле

Reading time 6 min
Views 19K
Website development *Open source *Programming *Java *
Бывает что в крупном проекте работающем в jvm, внезапно обнаруживается что приложение не работает и даже не запускается при обновлении какой-либо из зависимостей проекта. Такое же возможно из-за любого другого события, которое изменило порядок следования библиотек в classpath приложения.


Добро пожаловать в JAR hell
Total votes 19: ↑17 and ↓2 +15
Comments 0

Как запустить Java-приложение с несколькими версиями одной библиотеки в 2017 году

Reading time 18 min
Views 13K
Java *
Sandbox

Как запустить Java-приложение с несколькими версиями одной библиотеки в 2017 году


КДПВ, ничего интересного


Хочу поделиться решениями одной проблемы, с которой мне пришлось столкнуться, плюс исследование данного вопроса в контексте Java 9.


дисклеймер

Писатель из меня ещё тот (пишу в первый раз), поэтому закидывание вкусными помидорами с указанием причин только приветствуется.
Сразу договоримся, что статья не годится в качестве руководства по:


  • Java 9
  • Elasticsearch
  • Maven

Если по последним именам информации в сети полно, то по первому… со временем появится, по крайней мере здесь есть необходимая информация.


Представим себе простую ситуацию: разворачиваем кластер Elasticsearch и загружаем в него данные. Мы пишем приложение, которое занимается поиском в этом кластере. Поскольку постоянно выходят новые версии Elasticsearch, мы привносим в кластер новые проблемы фичи с помощью rolling upgrade. Но вот незадача — в какой-то момент у нас сменился формат хранимых данных (например, чтобы максимально эффективно использовать какую-то из новых фич) и делать reindex нецелесообразно. Нам подойдёт такой вариант: ставим новый кластер на этих же машинах — первый кластер со старой схемой данных остаётся на месте только для поиска, а поступающие данные загружаем во второй с новой схемой. Тогда нашему поисковому компоненту потребуется держать на связи уже 2 кластера.

Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 2

Модульность в Java 9

Reading time 7 min
Views 34K
Programming *Java *

Основным нововведением Java 9 было именно введение модульности. Про эту фичу было много разговоров, дата релиза несколько раз переносилась, чтобы допилить все должным образом. В этом посте речь пойдет о том, что дает механизм модулей, и чего полезного Java 9 принесла в целом. Основой для поста послужил доклад моего коллеги — Сергея Малькевича.



Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 3

Как оптимизировать повседневные backend-задачи: три видео с митапа по Java

Reading time 1 min
Views 6.4K
ЮMoney corporate blog Java *

20 мая прошел седьмой митап для Java-разработчиков ЮMoney Jam. Смотрите видео от наших докладчиков, которые делятся кейсами:

— Как добавлять в чистовой код на Java тестовое поведение и спать спокойно.

— Как обеспечить отказоустойчивость к высоким нагрузкам внутри кластера базы данных.

— Как не попасть в Jar Hell.

Смотреть видео
Total votes 19: ↑15 and ↓4 +11
Comments 6