| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Варинты получения статуса работы программы |
| Автор: barin_Student 7.5.2008, 12:55 |
| Собственно хотелось бы знать , кто как релизовал такую вот вещь: Скажем есть программка , она работает , и постоянно обновляются переменные статуса, например состояние подключения , количество клиентов и тд, но я реализовал серверный класс , который по запросу на порт отсылает в нужном порядке данные этих переменных , и клиент приложение, которое дает запрос, получает данные , формирует форму и выводит на экран данные статуса... Но эта байда не работает , так как загруженность той программы очень высока и часто получение статуса происходит довольно длительно время . У кого есть преддложения , кто как реализовал такую проблему , может у java есть готовые какие нибудь решения ... Вопщем я еще попробывал с файлом , но ведь доступ к файлу вещь односторонняя... и тд. |
| Автор: 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 секунды ого, как одновременно среагировали.. |
| Автор: barin_Student 7.5.2008, 13:36 |
| Давайте я ваши по вашим подсказкам погуглю , посмотрю фак, и уже тогда ясно будет что мне поойдет. |
| Автор: 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 |
Ну если хочется что-нибудь свое написать, то конечно.. почему нет.. Добавлено через 1 минуту Давай пример того кода, о котором ты писал в первом посте -- будем разбираться чем не устраивает, почему тормозит.. |
| Автор: niasilil 8.5.2008, 18:48 | ||
Во во. Сдается мне что просто какой нибудь sleep(10) решит программу загруженности Как часто нужно обновлять параметры? Что за параметры вообще? Хозяин-барин, давай подробности. |