Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Варинты получения статуса работы программы


Автор: barin_Student 7.5.2008, 12:55
Собственно хотелось бы знать , кто как релизовал такую вот вещь:
Скажем есть программка , она работает , и постоянно обновляются переменные статуса, например состояние подключения , количество клиентов и тд, но я реализовал серверный класс , который по запросу на порт отсылает в нужном порядке данные этих переменных , и клиент приложение, которое дает запрос, получает данные , формирует форму и выводит на экран данные статуса... Но эта байда не работает , так как загруженность той программы очень высока  и часто получение статуса происходит довольно длительно время . У кого есть преддложения , кто как реализовал такую проблему , может у java есть готовые какие нибудь решения ... Вопщем я еще попробывал с файлом , но ведь доступ к файлу вещь односторонняя... и тд. smile  

Автор: LSD 7.5.2008, 13:22
Вынеси обслуживание запросов статуса в отдельный поток и дай ему высокий приоритет.

Автор: AntonSaburov 7.5.2008, 13:22
А если посмотреть в сторону JMX ?

Автор: Maksym 7.5.2008, 13:25
barin_Student
http://forum.vingrad.ru/articles/topic-198623.html

Добавлено через 52 секунды
ого, как одновременно среагировали..  smile 

Автор: barin_Student 7.5.2008, 13:36
Давайте я ваши по вашим подсказкам погуглю , посмотрю фак, и уже тогда ясно будет что мне поойдет. smile 

Автор: barin_Student 7.5.2008, 14:11
Глянул я одним глазом Java Management Extensions , ну вопервых это читать , пробывать , ну во вторых статус у меня будет выводиться в консоли в Linux , не думаю что Java Management Extensions подойдет... или я не прав? 
Кто реализовывал подобные задачи , как вы это выполнили?

Автор: COVD 7.5.2008, 15:50
JMX - мощная вещь и чтобы попробовать, писать ничего не надо. Просто приложение, которое хотим мониторить, запускается с набором ключей в командной строке, которые сообщают виртуальной машине, что надо активизировать JMX агенты. После этого запускаем jconsole, которое входит в состав jdk, подсоединяемся к приложению и наблюдаем в реальном времени разные красивые графики, описывающие состояние нашего приложения. 

Однако JMX, как и профайлер, потребляет ресурсы - приложение замедляется. Однажды запустил серверное приложение с активированными агентами JMX, поиграл с jconsole, и забыл. А потом участились сообщения от провайдера данных, что это приложение не успевает забирать данные из очереди и очередь растет. Вспомнил про JMX, отключил, и проблема ушла. Очевидно, JMX надо настраивать, чтобы получать минимум необходимой информации и снизить потребляемые ресурсы, если приложение работает в продакшн режиме. 

Удобно также писать в файл и просматривать его с помощью программ типа baretailpro, baregreppro, которые отслеживают добавления новых записей и облегчают навигацию по файлу. 

Автор: barin_Student 8.5.2008, 07:01
Может как нибудь самому что нить хитрое отписать?

Автор: Maksym 8.5.2008, 16:55
Цитата(barin_Student @  8.5.2008,  06:01 Найти цитируемый пост)
Может как нибудь самому что нить хитрое отписать? 

Ну если хочется что-нибудь свое написать, то конечно.. почему нет..

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

Автор: niasilil 8.5.2008, 18:48
Цитата(Maksym @ 8.5.2008,  16:55)
Давай пример того кода, о котором ты писал в первом посте -- будем разбираться чем не устраивает, почему тормозит..

Во во. Сдается мне что просто какой нибудь sleep(10) решит программу загруженности smile

Как часто нужно обновлять параметры? Что за параметры вообще? Хозяин-барин, давай подробности. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)