Top.Mail.Ru
? ?

Entries by tag: java

На днях наткнулся на статью на хабре http://doktor.external.vk.obhodi.ru_gradus.habrahabr.ru/post/141393/ и решил попробовать.

Заметил следующие вещи:
1) сборка выполняется заметно быстрее, если за недолгое до этого время сборка была уже сделана
2) при повторных сборках
на рабочем хилом компе(с одним ядром) 2,5 мин вместо 3 мин, что приятно, но не более
на новеньком личном макбучеке(с двумя ядрами) 55сек вместо 1 мин, что не очень существенно (но греется и шумит как паровоз)
3) не все плагины позволяют распараллеливаться, обычно это старые плагины, в которых давно не было апдейтов(hibernate3-maven-plugin, maven-jaxb-plugin), правда есть и молодцы которые уже выпустили пара новых минорных релизов с момента поддержки этой фичи(cxf-codegen-plugin), ну и были обнаружены стремящиеся, у которых уже запланировано несколько релизов вперед и планах как раз эта фича(gmaven-plugin)
4) после перевода одного из плагинов на новую threadsafe'ную версию сборка стала делаться на пару секунд дольше

В каким выводам я пришёл:
1) скорее всего надо изучать вопрос как сделать мавеновский проект более подходямщим для параллельной сборки (есть предположение, что нужно мельче дробить проект на модули)
2) надо пробовать на разных тачках и разных настройках
3) надо менять комп на работе:)))

Posted via LiveJournal app for iPhone.

Tags:

Опции реактора в Maven

В прошлом году обнаружил такую прекрасную вещь как опции реактора в Maven. Вот замечательная статья от Sonatye про них http://www.sonatype.com/books/mvnref-book/reference/_using_advanced_reactor_options.html
Например, помогает собирать только конкретные модули проекта.
И всё бы хорошо, да только обламывало, что надо вводить имя проекта в виде groupId:artifactId. И на днях обнаружил, что работает вариант вида :artifactId.
В моём случае это существенно укоротило строку запуска мавена.

Posted via LiveJournal app for iPhone.

Tags:

Логгирование в Tomcat

На работе возникло время, чтобы немного улучшить нашу систему. В качестве точки приложения сил было решено улучшить решение логгирования на одном из томкатов.
На этом томкате крутится несколько веб приложений(пара десятков), логи которых пишутся с использованием slf4j и logback, ротейтятся раз в сутки.
Также пишутся логи ядра томката, используя стандартное решение.

Хотелось добиться следующего:
1) чтобы логи самостоятельно gzиповались
2) и чтобы количество логов было ограничено

Это бы позволило отказаться от кронов, которые это делают и настраиваются админами.

Для логов приложений использовался общий logback.xml с sift-аппендерами для разделения логов приложений.
Из logback.xml был убран атритут prudent=true, который позволяет нескольким JVM писать в один и тот же лог, так как у нас пишет только 1 JVM и prudent настройка не позволяет использовать сжатие. Также для сжатия были добавлены суффиксы .gz для того, чтобы logback самостоятельно сжимал файлы после ротейта.
Осталось только следить, чтобы всё было хорошо и правильно.

Далее нужно было что-то решить с логами ядра томката.

Я сразу махнул рукой на дефолтное решение с помощью JULI и перешёл к решению на log4j, предложенное создателями томката:
http://tomcat.apache.org/tomcat-7.0-doc/logging.html#Using%20Log4J
Сделал, посмотрел, работает, но перейдя к сути понял, что либо сжатие логов и использованием apache-log4j-extras либо ограничение количестс логов в стандартной комплектации log4j.
В общем не подходит.
Полюркав в инете я обнаружил вот такой красивый проектик на github https://github.com/grgrzybek/tomcat-slf4j-logback, который таки позволяет перести логгирование ядра томката на slf4l и logback. Очень красово сделано, даже есть ANT-скрипт для генерации необходимых бинарников.

Но потом я подумал-это же ж геморой, собирать несколько либ, файлов настроек окружения для старта томката, контроллировать версии библиотек slf4j и logback, и только для того, чтобы обработать логи, которые я никогда не смотрю. И я решил забить, и это оказалось очень просто - удаление файла logging.properties из папки conf томката ведет к тому, что внутренние логи томката не пишутся.

Ну и клёво. Хотя есть ещё catalina.out, в который попадает всё из System.out, но таких логов немного особенно если отключить логгирование состояния памяти в JVM.

И по идее мне оставалось только следить, чтобы логи приложений сжимались и удалялись.

Ну и тоже в свете темы логгирования попалась вот такая замечательная статья: http://habrahabr.ru/post/113145/

upd 1
К сожалению, через несколько дней после запуска томката с обровленными настройками логи частично перестали сжиматься. И это не круто, потому что никаких ошибок в catalina.out я не увидел.
В общем буду делать простенький тест, эмулирующий данную ситуацию, добиваться аналогичных результатов и постить в жиру логбека.

upd 2
Проверил гипотезу с добавлением атрибута , начали сохраняться tmp файлы.

Posted via LiveJournal app for iPhone.

Tags:

Нашёл тут клёвый пост на хабре:
http://habrahabr.ru/post/51991/

Posted via LiveJournal app for iPhone.

Tags:

Profile

picFryDream
Imagearchislav
archislav

Latest Month

May 2012
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom

Comments

Powered by LiveJournal.com
Image