![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
Проблема следующая. Имеется главный класс апплета. Имеется класс расширяющий Thread
далее он запускается в отдельном потоке и переодически (10 секунд) получает данные с сервера схематически это выглядит примерно так
Далее пользователь может менять значения полей в главном классе, от которых зависит то, какая информация придет. И вот после того как он меняет значения полей, в основном потоке вызывается метод getData(), данные получаются, все нормально, но... На некоторых компьютерах дочерний поток просто перестает существовать, никаких исключений, ничего, все глухо. При чем раньше все работало нормально, когда DELAY был равен 30 секундам... В чем проблема не понятно... Как найти ошибку, не понятно... |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
кстати да, InterruptedException не происходит, равно как и другие Exception, поток тихо умирает. При чем даже в списке потоков в консоли JAVA его тоже нет :-( нид хелп. И происходит это выборочно, при чем до вызова getData из основного потока, все у всех работает нормально, а далее у некоторых поток пропадает стабильно, а у некоторых остается... ((
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
На кой черт вообще эта конструкция нужна?
Она же не несет ни какого смысла, т.к. текущий поток по определению не может быть в состоянии ожидания. 1. Как ты определяешь, что нет InterruptedException, у тебя там стоит запись в лог? 2. У тебя там явно есть работа с сетью, которая может кидать IOException, там есть обработка ошибок и запись их в лог? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
LSD,
может, что и происходит, например при перезагрузке страницы... хотя видимо обрабатываю я его (исключение) неправильно, но сути это в принципе не меняет 1. У меня там стоит перехват исключения с выводом в консоль 2. есть все возможные обработки исключений |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
кстати, правда выкидываются они в стэк... но сути не меняет, по скольку стэк чист... как попа младенца
Добавлено через 2 минуты и 3 секунды а по первому, я там ставил обработку исключения, оно не вызывалось в процессе работы... только при перезагрузке страницы, когда дочерний поток в "спячке" |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Без полного кода сложно что-то сказать. Если бы в run() вылетал непойманный Exception, то это было бы видно в консоли. А так тут похоже нормальное завершение потока по выходу из run().
P.S. Здесь:
может быть выкинут необработанный IOException. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
LSD, но он ведь все равно в консоль идет ((( а в консоли ничего нет
Добавлено через 36 секунд я понимаю если бы у меня стоял пустой обработчик исключений где-то, так ведь нет такого ( |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
вобщем сделал так...
написал еще один класс наследующий Thread, он периодически проверяет инстанс DataManagera и если тот ! DataManager.getInstance().isAlive тогда DataManager.createNewInstance что по моему есть криво... так что если есть предложения... готов выслушать. Спасибо. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Пока я вижу только пустой (без вывода в консоль) catch (final InterruptedException ex). И честно говлря надоедает гадать, что же там все таки не так, не видя кода.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
LSD, пожалуйста, вот код
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
По коду не видно мест, где могла бы быть проблема. Попробуй запустить аплет под отладчиком, и посмотреть, что там происходит.
Как отлаживать аплеты написано тут. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
LSD, к сожалению у меня на компе все работает без сбоев (( поэтому не уверен что под отладчиком выявится проблема, кроме того управление апплетом идет из вне, из javascript, может быть в этом проблема, из за этого трудно отлаживать, но опять таки все исключения ловятся без исключения (
Добавлено через 54 секунды кроме того на всех компах офиса апплет работает, не работает выборочно и непонятно как... вот например у одного человека под шестым осликом с самым последним JRE... не работает... |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
Такой вопрос, дабы не плодить новую тему, как отформатировать Long, так чтобы скажем если число больше чем 10 в 9 степени, то выводилось что-то типа 10.0Е8
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Нет уж, один топик - один вопрос.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Апплеты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |