![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| leniviy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
Привет. Есть junit для некоего клиента. В методе setUp() стартует embedded server. В нескольких тестах надо протестировать таймауты. Сервер многопоточный, исходников нет. Я хочу запаузить все треды сервера.
Для этого я планирую создать родительский тред и стартануть из него сервер, а в нужный момент перечислить все потомки этого треда и остановить их. Как это сделать? Дочерние потоки ведь не обязательно наследуют ThreadGroup или ClassLoader? Это сообщение отредактировал(а) leniviy - 28.3.2011, 19:22 |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Может проще не выходить из setUp пока сервер не стартует. А признаком, что стартовал может служить ответ сервера на какой-то запрос к нему. Пока ответов нет - значит ждем.
|
|||
|
||||
| leniviy |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
Сорри, но ответ невпопад.
Я решил стартовать сервер в отдельном процессе, тогда можно суспендить все треды кроме main. Вероятность дедлока будет меньше. Появилась проблема с наследованием classpath. Хотел использовать SurefireBooter из maven, но нет времени разбираться. Так-что по-простому:
Вероятная проблема: 2 инстанса log4j пишут в 1 файл а так я останавливаю потоки
Это сообщение отредактировал(а) leniviy - 29.3.2011, 15:34 |
||||
|
|||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Если честно - не понял я тогда вопрос. Если сервер embedded, то это обычно в той же JVM. Или тогда вопрос задан без точного описания проблемы. Если сервер - внешний процесс, то тем более не проще ли задать вопрос серверу и получить ответ, что он еще не готов (или готов). И решать вопрос о запуске тестов. Такой огород городить с запуском/остановкой тредов - как-то сложно выглядит. |
|||
|
||||
| leniviy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
> И решать вопрос о запуске тестов.
Проблема не в этом. Мне надо, чтобы сервер как бы "завис" во время теста. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |