Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JMX и сигналы операционной системы / 9 сообщений из 9, страница 1 из 1
19.12.2012, 20:57:48
    #38085839
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
Добрый вечер!

Кто как проектирует серверные процессы? Я имею в виду мониторинг и управление.

Классика - service myservice start|stop|reload через сигналы ОС.

Или вызовы JMX ?

Поделитесь опытом.
...
Рейтинг: 0 / 0
19.12.2012, 21:32:02
    #38085868
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
maytonДобрый вечер!

Кто как проектирует серверные процессы? Я имею в виду мониторинг и управление.

Классика - service myservice start|stop|reload через сигналы ОС.

Или вызовы JMX ?

Поделитесь опытом.

А поконкретнее? Ну с JMX приятно работать, исключая настройки на определенный порт, который может быть забанен файерволом. А так - мой личный проект, все на JMX, 5 сервачков - по одному клику перегружаются, дозагружают классы - все что в голову придет.
...
Рейтинг: 0 / 0
20.12.2012, 12:57:27
    #38086584
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
Конкретнее - есть аппликейшн. Никаких JBoss-ов и прочих Вебсфер. Чистый java-процесс
со своей методикой старта. Его разрабатывали с расчётом что будет старт в классической
среде Linux и заложили поддержку Sun-овских deprecated пакетов sun.misc.Signal

Нечто вроде

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
import sun.misc.Signal;
import sun.misc.SignalHandler;

public class SignalProcessor {    

    // Loggers... ApplicationsEnviroment....

    public SignalProcessor() {
    }

    public static void init() {
        
        Runtime.getRuntime().addShutdownHook(
                new Thread() {
                    public void run() {
                    }
                });

        SignalHandler handler = new SignalHandler() {
            public void handle(Signal sig) {
                if (sig.getName().equals("TERM")) {                    
                    logger.debug(sig + "  recieved");                    
                    mainAppObject.finish();
                }
                if (sig.getName().equals("USR2")) {                    
                    logger.debug(sig + "  reieved");
                    mainAppObject.reload();
                }
            }
        };
        Signal.handle(new Signal("INT"), handler);
        
        Signal.handle(new Signal("TERM"), handler);
        if (mainAppObject.OS.equals("Linux")) {
            Signal.handle(new Signal("USR2"), handler);
            logger.debug("USR2 is reload java classes\n");
        }
    }

}



Насколько я понял этот код отвечает за взаимодействие сигналов ОС и приложения.
Но код этот при сборке флудит варнингами о deprecated. И я вот думаю что было-бы лучше
если-б его дополнить обработкой JMX сигналов и когда этот patch будет
оттестирован на ОК тогда убрать из поддержки этот SignalProcessor как морально
устаревший.

Единственное что смущает - что я теряю. Возможно чел который создавал
это был неплохой спец в Linux и закладывал много фич в т.ч. скрипты
start|stop|reload которые мне поддержать в Linux-shell+JMX Будет
не так уж легко.

И надо разобраться что это за шатдаун хук и зачем он тут?

Вобщем я в размышлениях.
...
Рейтинг: 0 / 0
20.12.2012, 19:10:49
    #38087300
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
Есть подозрение, что это вся эта шелуха имитирует Daemon: Java Service
...
Рейтинг: 0 / 0
20.12.2012, 19:17:28
    #38087311
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
ну шатдаун хук тут скорее всего когда-то что-то делал, например выводил - JVM exit, а потом его забыли убрать. Вообще, не удивлюсь если этот код будет вырезан оптимизирующим компилятором нафиг, ну или заменен нопами. Единственное что приходит на ум - это ребро happens-before при старте потока - но с чем? если метод ран пустой... На 99 процентов уверен - что можно убирать этот стремный код.
...
Рейтинг: 0 / 0
20.12.2012, 19:18:38
    #38087312
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
Сложно. Туда куда мы деплоимся не поставят лишнего софта. В т.ч. GCC и GNU make.
...
Рейтинг: 0 / 0
20.12.2012, 19:22:37
    #38087316
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
Сегодня вечером соберу тестовый стенд и попробую сигналы Linux.
Что там и к чему. Забыл ведь совсем...

http://www.kernel.org/doc/man-pages/online/pages/man7/signal.7.html

Помнится я использовал Kill с сигналами чтобы вызвать дамп
памяти с потоками для jboss. Уж зачем надо не помню.
...
Рейтинг: 0 / 0
21.12.2012, 08:30:19
    #38087694
GKS_Samara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
Добрый день, mayton!

> Помнится я использовал Kill с сигналами чтобы вызвать дамп
> памяти с потоками для jboss. Уж зачем надо не помню.

Вот какие сигналы могут я видел:
SIGINT - Нажали ctrl+C
SIGTERM - в винде- крестик, в юниксе - kill
SIGTHUP - в юниксе - У нас отняли консоль

Соответственно добропорядочное приложение :) должно уметь обрабатывать
эти три сигнала.

Да, есть ещё какой-то, аналогичный нажатию ctrl+break - но он не доходит
до программы, а обрабатывается JVM- как раз дамп потоков.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.12.2012, 17:01:24
    #38088534
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JMX и сигналы операционной системы
maytonТуда куда мы деплоимся не поставят лишнего софта. В т.ч. GCC и GNU make.Соберите "у себя" и отдайте готовый бинарь.
На java.library.path, надеюсь, нет религиозных запретов?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JMX и сигналы операционной системы / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]