[room] java devel

Eugene Prokopiev =?iso-8859-1?q?enp_=CE=C1_altlinux=2Eorg?=
Чт Фев 26 09:14:01 MSK 2009


> EP> А ты не используешь ничего, что умело бы генерить байт-код на лету?
>
>  Нет, а что это может быть, например?

ORM-фреймворки активно такое практикуют, AOP-фреймворки, наверное, тоже

>  EP> Неужто и оно не сломается? ;)
>
>  Думаю сломается :)

Ну в общем, я даже пробовать, наверное, не буду ;)

>  >>  Ужас-ужас. А в java SIGTERM/SIGHUP и т.д. никак ловить нельзя?
>
> EP> Ну так именно этим jsvc (бинарник, написанный на С) и занимается: при
>  EP> старте поднимает JVM и вызывает метод start() класса, реализующего
>  EP> интерфейс Daemon, повторяет эту процедуру в случае падения JVM, при
>  EP> получении сигнала вызывает метод stop() реализации того же интерфейса.
>  EP> Инитскрипт под эту схему выглядит вполне прилично. При желании можно
>  EP> дописать поддержку любых сигналов, но это сломает совместимость с
>  EP> аналогичным бинарником для винды, где, насколько я понимаю, для
>  EP> сервисов не предусмотрены события, отличные от start/stop.
>
>  Разве не логично, что версия под UNIX просто может обрабатывать больше
>  сигналов, а тот же бинарник под виндой просто не сможет обработать те
>  события которые система ему не предоставит?

Система, запущенная в винде будет иметь ограничения по функционалу, а
это в корне противоречит идее кроссплатформенности. Т.е. лучше уж
пусть те, кому сильно надо, изобретут свои переносимые велосипеды, не
связанные со спецификой UNIX.

Кстати, штатный способ управления уже запущенным сервисом (перечитать
конфиг, записать/прочитать некие переменные и т.д.) - JMX, так что
проблема не особенно актуальна. В качестве клиента JMX и не только
см., например, OpenNMS - его у нас даже пакетили

А еще код commons daemon достаточно компактный и читаемый, чтоб при
большом желании все-таки прострелить себе ногу ... ;)

>  Мне непонятно почему отрезают функционал который UNIX-only. Как и с UNIX
>  sockets которые чем-то санкам не нравятся :(

А вот тут можно было бы иметь идентичный интерфейс для всех платформ +
дополнительную семантику для UNIX - ущерба винде не было бы, так что
тут я санкам оправдания найти не могу

>  >>  Ну, у меня пока нет готового ничего. Скорее всего скоро будут готовы
>  >>  proguard-шаблоны для отдельных библиотек, их наверное буду выкладывать.
>
> EP> Может вернуть апстриму? ;)
>
>  Апстрим насколько я вижу не занимается коллекционированием таковых. Потому
>  как дело это очень индивидуальное -- мне вот ряд классов в log4j не нужны
>  и я их отрежу. А кому-то -- нужны. Я вон из всего log4j только логгинг в
>  файлы и использую, могу для себя все остальное отрезать. Не все поступят
>  также :)

Угу, понятно ...

-- 
С уважением,
Прокопьев Евгений


Подробная информация о списке рассылки smoke-room