
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.01.2013, 18:52:25
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Странная ситуация: tomcat 7.0.35(34) на CentOS 6.3 java -- любая 1.6.0_34/1.7.0_11 собираю web-service с metro-ws, деплоится через web-интерфейс нормально, прекрасно запускается и работает. Но виснет tomcat при загрузке: Последние сообщения в логах tomcat: Jan 23, 2013 5:46:33 AM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive /usr/share/apache-tomcat-7.0.35/webapps/EntitlementServices.war Jan 23, 2013 5:46:35 AM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized INFO: WSSERVLET12: JAX-WS context listener initializing И дальше молчание... На CentOS память после деплоя: Memory Pool Type Initial Total Maximum Used CMS Old Gen Heap memory 700.00 MB 700.00 MB 1700.00 MB 9.22 MB (0%) Par Eden Space Heap memory 250.00 MB 250.00 MB 400.00 MB 102.73 MB (25%) Par Survivor Space Heap memory 125.00 MB 125.00 MB 200.00 MB 89.62 MB (44%) CMS Perm Gen Non-heap memory 512.00 MB 512.00 MB 768.00 MB 77.91 MB (10%) Code Cache Non-heap memory 2.43 MB 8.06 MB 48.00 MB 7.95 MB (16%) На Windows и MacOS tomcat стартует без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 19:04:41
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
При чем тут память:? Дамп потоков сделайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 19:43:06
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Blazkowicz, спасибо. Вроде разобрался, но есть вопрос. Этот веб-сервис зависит от другого веб-сервиса, который висит на том же томкате. Можно сделать отложенный старт приложения? Или указать порядок загрузки приложений томката? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 20:07:45
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
http://wiki.apache.org/tomcat/FAQ/Miscellaneous#Q27 Но, лучше сделать "отложеный старт". Что именно и от чего у вас зависит и почему стартует при депломенте, а не позже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 20:08:36
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Можно попробовать подписаться на события в JMX томката и ловить событие когда все сервер полность стартанул и по нему производить инициализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 20:46:41
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Blazkowicz, еще раз спасибо. Дальше то уже начинаются частности реализации, которые вряд ли будут интересны всем. Попутно возник интересный вопрос (прежде чем начнем весело править код, обходящий зависание): В чем принципиальная разница между дефолтным конструктором класса веб-сервиса и методом init()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 20:54:33
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Юрий ПетровВ чем принципиальная разница между дефолтным конструктором класса веб-сервиса и методом init()?В чём принципиальная разница между конструктором и методом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 22:00:12
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Basil A. SidorovЮрий ПетровВ чем принципиальная разница между дефолтным конструктором класса веб-сервиса и методом init()?В чём принципиальная разница между конструктором и методом? А вот есть такая догадка, что конструктор класса веб-сервиса в томкате исполняется в synchronized контексте (видимо, по каким-то внутренним причинам), а метод init() -- нет. Иначе какой смысл городить обязательно вызываемый метод вместо использования конструктора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2013, 22:06:09
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Юрий ПетровДальше то уже начинаются частности реализации, которые вряд ли будут интересны всем. Почему нет? Юрий ПетровПопутно возник интересный вопрос (прежде чем начнем весело править код, обходящий зависание): В чем принципиальная разница между дефолтным конструктором класса веб-сервиса и методом init()? Серверу может понадобится несколько экземпляров класса, при этом init будет вызван один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2013, 00:26:49
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
BlazkowiczЮрий ПетровДальше то уже начинаются частности реализации, которые вряд ли будут интересны всем. Почему нет? Да не вопрос. В этом сервисе, который зависал, вся инициализация была написана в конструкторе вместо init, а в этой самой инициализации -- обращение к другому веб-сервису, где встречается synchronized-код. В этом месте все и вставало колом. Странно, что это никак не проявлялось на macos и win. BlazkowiczЮрий ПетровПопутно возник интересный вопрос (прежде чем начнем весело править код, обходящий зависание): В чем принципиальная разница между дефолтным конструктором класса веб-сервиса и методом init()? Серверу может понадобится несколько экземпляров класса, при этом init будет вызван один раз. Не очень верится, потому что init -- не статик-метод, и в каждом следующем экземпляре приватные переменные будут неинициализированными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2013, 11:09:35
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Юрий ПетровНе очень верится, потому что init -- не статик-метод, и в каждом следующем экземпляре приватные переменные будут неинициализированными. А нечего заводить состояние в stateless классах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2013, 11:44:17
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Юрий ПетровНе очень верится, потому что init -- не статик-метод, и в каждом следующем экземпляре приватные переменные будут неинициализированными. Но вообще, может вы и правы. Возможно так просто исторически сложилось со времен сервлетов, где в Init явно передаются параметры. А обязать юзер реализовать нужный конструктор в compile-time нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2013, 15:24:34
|
|||
|---|---|---|---|
|
|||
tomcat7 + JAX-WS на CentOS -- не стартует tomcat |
|||
|
#18+
Значит, докладываю результаты изысканий и исправлений кода :) Ситуация: два web-service на metro, один (ScriptService) требует наличия другого (AdminService) Проблема: полное зависание tomcat во время старта на ScriptService.init(). Проблема проявляется только на linux-подобных JVM, тестирование на MacOS и Win-7 не приводит к зависанию. Было: Код: 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. Стало: Код: 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. Все прекрасно заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2130128]: |
0ms |
get settings: |
19ms |
get forum list: |
20ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
45ms |
get topic data: |
21ms |
get forum data: |
6ms |
get page messages: |
85ms |
get tp. blocked users: |
3ms |
| others: | 318ms |
| total: | 529ms |

| 0 / 0 |
