|
|
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Столкнулся с такой вот проблемой: Эсть два сервера на которых установлен AS10g . на одном задеплоина EJB на другом клиент который активизируется через web-интерфейс (сервелет вызывает статический клас котрый возвращает EJB) Код: plaintext 1. потом вызывает нужную функцию и результат показывает на екран. Сначала все роботает, но когда приходиш утром то браузер начинает неприлично долго грузить страницу , через несколько минут устает и в окне браузера пустая страница. И это можно повторять не сколько раз, гдето минут через 15 все опять роботает. Такое может потом случатся в обед и вечером. Эксепшн не возникает.(то есть не перехватываеться) Делаю такой вывод: что на сервере где WEB устаревает сылка на EJB и сервелет долго потом пытаеться конектится, а минут через 15 роздупляэться и все ок. Что делать если это так? как это проверить? может есть другие варианты ошибки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 18:54:03 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
если бинс стэйт фул ничего удивительного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:00:52 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 10:36:49 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
нужно посмотреть код сервлета, как он там вызывает бин, иначе ничего сказать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:15:57 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Эта процедура в сервелете Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. А эта в статическом класе Config: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:31:59 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
причем ексепшн не возникает так как в Config.LogError ничего не попадает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:33:13 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Метод getEjbViewDB() возвращает бин, который в нем не объявляется. Есть глобальная переменная? Нафига? В методе getEjbViewDB() эксепшин возникший в первом блоке try/catch теряется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:56:50 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Посмотри ещё в cторону настройки сервера апп. Что с пулом EJB(на самом деле даже стэйт лесс пулятся), тайм ауты, может коннект к субд(пул JDBC). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:00:18 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
wessenМетод getEjbViewDB() возвращает бин, который в нем не объявляется. Есть глобальная переменная? Нафига? В методе getEjbViewDB() эксепшин возникший в первом блоке try/catch теряется. глобальная переменая есть (так сложилось) блок try для того что б если за первый раз не получилось получить бин то делается еще одна попытка и уже если в ней исключение то то тогда в лог. P.S Еще сложность в том что глюк исключительная ситуация ведь сейчас все роботает проверять изменеия в коде можно с утра в обед и вечером время глюка не больше 15 мин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:12:06 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Jugaесли бинс стэйт фул ничего удивительного как нужно решать вопрос в случае стэйт фул? (возможно здесь аналогично) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:27:27 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Понятия не имею как в вашем сервере работает ваш бин контейнер. а вообще есть тайм аут в течении которого бинс находится в состоянии активэйт, после пасивации сервер апп записывает состояние в совою базёнку и бинс убирается из пула потом восстанавливает состояние по запросу. тут всё от реализации контейнера зависит, читайте мануал к вашему серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:42:44 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
JugaПонятия не имею как в вашем сервере работает ваш бин контейнер. а вообще есть тайм аут в течении которого бинс находится в состоянии активэйт, после пасивации сервер апп записывает состояние в совою базёнку и бинс убирается из пула потом восстанавливает состояние по запросу. тут всё от реализации контейнера зависит, читайте мануал к вашему серверу. Ну не по 15-ть минут же СП востанавливает состояние бина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 12:58:07 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Andrew-tern блок try для того что б если за первый раз не получилось получить бин то делается еще одна попытка и уже если в ней исключение то то тогда в лог. классно, т.е. почему в 1-ый раз не удалось получить бин нас не волнует. вот может там и вылетает какой-нибудь timeout exception. и еще, инициализация бина происходит при каждом обращении к сервлету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:00:56 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
бывает и хуже. Правда как справился не помню уже. Но была такая у меня проблема в BES при втором обращении к бинсу вылетал эксепшн(с первого раза пока пул чист всё было ок). Это я к тому что контейнеры это чёрный ящик и что там внутри происходит можно только догадываться. При разработке лучше придерживаться доки которая к серверу идёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:04:04 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
wessen JugaПонятия не имею как в вашем сервере работает ваш бин контейнер. а вообще есть тайм аут в течении которого бинс находится в состоянии активэйт, после пасивации сервер апп записывает состояние в совою базёнку и бинс убирается из пула потом восстанавливает состояние по запросу. тут всё от реализации контейнера зависит, читайте мануал к вашему серверу. Ну не по 15-ть минут же СП востанавливает состояние бина. да слишком долго в не рабочем состоянии. Например после деплоя как бы бин должен запускаться но это происходит за несколько секунд (а не минут). Если во время глюка сделать рестарт серверу все ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:10:11 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
wessenНу не по 15-ть минут же СП востанавливает состояние бина. - возможно поутру при первом обращении система понимает что нужен гарбидж коллект, а если настройки GC кривоватые и памяти давалось много, то чистка может занять продолжительное время. Хорошо бы автор топика промониторил расход ОП на сервером приложений и расход ОП в ОС на которой живет сервер (может и физической памяти не хватает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:10:55 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
wessen Andrew-tern блок try для того что б если за первый раз не получилось получить бин то делается еще одна попытка и уже если в ней исключение то то тогда в лог. классно, т.е. почему в 1-ый раз не удалось получить бин нас не волнует. вот может там и вылетает какой-нибудь timeout exception. и еще, инициализация бина происходит при каждом обращении к сервлету? на даный момен при каждом обращении к сервелету (глобальная переменая была для того что б сделать не при каждом, но после глюка не используеться до выяснения причин). поменял код первый эксепшн в случаи такого должен логироваться но смогу проверить только при последуещем сбое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:12:40 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
в логах сервера найдено такое сообщения(после некоторых эксперментов новые не появляются но ошибка наверно таже) Код: plaintext какой загрузчик?(может конект бину ) а потом он открывается что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:32:24 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
инглиш версия ошибки тоже найдена: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:37:25 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
wessenМетод getEjbViewDB() возвращает бин, который в нем не объявляется. Есть глобальная переменная? Нафига? В методе getEjbViewDB() эксепшин возникший в первом блоке try/catch теряется. возникает такой exception: Код: plaintext может кто то доступно обьяснить почему и как с этим бороться. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 18:55:18 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Andrew-tern wessenМетод getEjbViewDB() возвращает бин, который в нем не объявляется. Есть глобальная переменная? Нафига? В методе getEjbViewDB() эксепшин возникший в первом блоке try/catch теряется. возникает такой exception: Код: plaintext может кто то доступно обьяснить почему и как с этим бороться. Спасибо Желательно полный стектрейс привести. http://sql.ru/forum/actualthread.aspx?tid=473473#4668825 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 19:21:02 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Есть такое предположение что в случае возникновения ексепшн во втором блоке ну жно вставить такую строку: Код: plaintext П.С проверить можна будет через только после следующого прогнозируемого глюка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2007, 10:51:54 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
wessen Andrew-tern wessenМетод getEjbViewDB() возвращает бин, который в нем не объявляется. Есть глобальная переменная? Нафига? В методе getEjbViewDB() эксепшин возникший в первом блоке try/catch теряется. возникает такой exception: Код: plaintext может кто то доступно обьяснить почему и как с этим бороться. Спасибо Желательно полный стектрейс привести. http://sql.ru/forum/actualthread.aspx?tid=473473#4668825 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 10:43:27 |
|
||
|
глюкавый вызов EJB
|
|||
|---|---|---|---|
|
#18+
Как уже говорили здесь, возможно на момент обращения сервер чем-то очень занят. Нужно в момент очередного длительного ожидание, сразу же оценивать ситуацию на сервере: загрузку процессора, посмотреть сколько памяти захапал процесс сервера приложений, можно еще попытаться открыть какую нибудь панель управления сервером, если проц занят на все 100%, видно, что не хватает памяти, панель управления не отвечает тоже, значит возможна утечка памяти, если всего этого в момент ожидания не происходит, значит нужно копаться в настройках контейнера ejb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 11:57:32 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34807472&tid=2144532]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 311ms |
| total: | 439ms |

| 0 / 0 |
