
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.07.2012, 10:59:19
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
Есть такая штука: Какой-то JSF-проект, в нем бин, который отвечает за вход пользователей в систему: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Так вот, все вроде работает. Но раз в год случается что-то странное, когда срабативает finish() и пытается зделать UserInfo.removeUserList(login), то оказывается что login = null. Тобто поля тебущего обьекта LoginBean обнуляются исчо до его удаления. Даже не знаю куда копать. П.С Извесно что сесия разрушается когда к ней нет запросов, тоб-то закрыли вкладку, через определенное время сесия уничтожилась. А даная штука, которою я описал выше случается тогда, когда пользователь сидит долго на одной странице и нечего не делает и в результате сесия у ничтожается. Потом пользователь жмет обновить страницу, а ему уже пишет, что невозможно запросить страницу. Вот при таком аварийном вылете и происходит зануление полей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2012, 11:06:53
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
denis11111... А даная штука, которою я описал выше случается тогда, когда пользователь сидит долго на одной странице и нечего не делает и в результате сесия у ничтожается... И это нормальное поведение. Вижу 2 варианта: - делать AJAX-запрос каждые N-минут - увеличить время жизни сессии It's up to you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2012, 11:16:24
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
dmitriychedenis11111... А даная штука, которою я описал выше случается тогда, когда пользователь сидит долго на одной странице и нечего не делает и в результате сесия у ничтожается... И это нормальное поведение. Вижу 2 варианта: - делать AJAX-запрос каждые N-минут - увеличить время жизни сессии It's up to you. Нуда, что я и зделал вставил куда надо запросы. Но как я говорил раз в год все равно вылетает. Тестил, целые выходние сидел на страничке и нет вылетания. потом зашол как-то на минутку и все - вылет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2012, 11:19:00
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
Но это вся так, костыли. интересно почему зануляются поля... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2012, 11:20:42
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
denis11111Но это вся так, костыли. интересно почему зануляются поля... Мистика. А stacktrace исключения есть? А так надо чтобы метод finish был внутри другого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2012, 11:59:16
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
Blazkowiczdenis11111Но это вся так, костыли. интересно почему зануляются поля... Мистика. А stacktrace исключения есть? А так надо чтобы метод finish был внутри другого? В логе все время мелькает "SEVERE: Exception in internal GC java.lang.NullPointerException at org.jinterop.dcom.core.JISession$Release_References_TimerTask.run(JISession.java:256) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)" finish, c ним опечатка. Здесь нет кнопки "изменить"( При более длительном тесте обнаружыл что finish при "аварийном вылете" может вобще не сработать - мистика. Мда, я не понимаю каких-то хитрых основ. Зделал Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Теперь гарантировано удаляет юзера. Но не ясно з @PreDestroy - сказано срабатывает перед уничтожением обьекта. а то выходит что обьекта не и он не сработал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2012, 12:05:42
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
denis11111"SEVERE: Exception in internal GC java.lang.NullPointerException at org.jinterop.dcom.core.JISession$Release_References_TimerTask.run(JISession.java:256) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)" Как это связано с вашим кодом вообще? как вы определили что login - null ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2012, 12:14:33
|
|||
|---|---|---|---|
|
|||
Обнудение полей обьекта ищо до удаления |
|||
|
#18+
Blazkowiczdenis11111"SEVERE: Exception in internal GC java.lang.NullPointerException at org.jinterop.dcom.core.JISession$Release_References_TimerTask.run(JISession.java:256) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)" Как это связано с вашим кодом вообще? как вы определили что login - null ? Незнаю с моим это связано кодом или нет... login - null в дебагере посмотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2131307]: |
0ms |
get settings: |
16ms |
get forum list: |
19ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
52ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 315ms |
| total: | 500ms |

| 0 / 0 |
