Pull to refresh

Напильники бывают разные или повествование про «напильник» для java программ

Website development *Programming *Java *
В практике java программиста бывает, что очень хочется изменить поведение программы или «подхачить» пару классов без перепаковки приложения, собрать метрики или протестировать java приложение в недрах сторонней библиотеки или jdbc драйвера без исходного кода. Существует несколько способов сделать это. Я расскажу про open source проект aspectj-scripting, который позволяет решать такие задачи в jvm.



Рассказ про aspectj-scripting будет в нескольких публикациях. Начнем с практики! Под катом модификация поведения maven-changes-plugin без его пересборки и перекомпиляции для выгрузки списка задач из JIRA в файлы xml и json
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 19K
Comments 16

Аспектно-ориентированное программирование. Основы

Website development *Open source *Programming *Java *
Продолжим тему, начатую в прошлой слесарно-программистской статье про AspectJ и open source расширение для этой библиотеки aspectj-scripting. В этой заметке рассмотрим какие задачи решает аспектно-ориентированное программирование (AOP) на примере и синтаксисе самой известной библиотеки среди адептов этой методологии. AspectJ — дитя Xerox PARC, теперь совершеннолетнее и живущее в Eclipse Foundation.


(фото из статьи на lurkmore про евроремонт)

Вероятно, статья не будет интересна тем кто часто использует в своей работе AOP и понимает что это такое. В комментариях приветствуются как конструктивные замечания так и веселый холивар!

Disclaimer: Я не теоретик, поэтому рассказанное в статье субъективно, пропущено через призму опыта.
Читать дальше →
Total votes 21: ↑15 and ↓6 +9
Views 41K
Comments 15

Внедрение веб консолей в jvm процесс на примере SonarQube

Website development *Open source *Java *
Tutorial
По аналогии с примером из этой статьи, вы сможете внедрить консоль hawtio в свое jvm приложение без его пересборки и перекомпиляции. А также в случае с DEV/QA хостами внедрить в java процесс SQL веб консоль из проекта H2


Скринкасты, описание процесса и краткий обзор компонент...
Total votes 9: ↑8 and ↓1 +7
Views 11K
Comments 0

Протоколирование JDBC запросов и их параметров в существующем приложении

Website development *Open source *Programming *Java *


В публикации рассмотрим как можно внедрить логирование jdbc операций в существующее приложение без его пересборки и перекомпиляции. Это даст возможность протоколировать параметры запросов, которые заполняет программа, и многие другие аспекты работы с jdbc.
Описание процесса и скринкаст...
Total votes 17: ↑16 and ↓1 +15
Views 12K
Comments 0

Публикация логов в Elasticsearch — жизнь без регулярных выражений и без logstash

Website development *Search engines *Open source *Programming *Java *

При использовании подхода из данного решения парсинг файлов будет не нужен. При изменении формата логирования или появлении новых сообщений не нужно поддерживать большой набор регулярок. Будем перехватывать вызовы методов error, warn, info, debug, trace логера и отправлять данные сразу в elasticsearch. С этим нам поможет аспектно-ориентированное программирование!
Программа, конфигурация и скринкаст...
Total votes 12: ↑10 and ↓2 +8
Views 25K
Comments 22

Доклад: «Аспектно-ориентированное программирование в распределенных системах для java разработчиков и QA»

Website development *Open source *Programming *Java *

Под катом — краткое описание доклада про аспектно-ориентированное программирование и применение AspectJ-scripting, а также ссылки на материалы по теме и видеозапись выступления.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 8.3K
Comments 0

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

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


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

DevOps: отправляем метрики и спим спокойно

Open source *Programming *Java *Groovy & Grails *


Внезапно, ночью раздается звонок и мы узнаем что наше приложение не работает. Есть 2 часа на его реанимацию…
Где же наш мониторинг и логи программы!?
Total votes 14: ↑13 and ↓1 +12
Views 18K
Comments 2