|
|
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
Всем привет) Подскажите пожалуйста с ситуацией которую никак немогу понять и решить. Примерно ожидаемый результат: пользователь залогинилса в системе на машине А, потом залогинилса на машине Б. Нужно чтоб сессия для машины А получила invalidate(). Решил реализовать cледующим способом: 1. Создал "кеш" на базе EJB Код: 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. 2. Хочу добавить в него елемент из сервлета Код: java 1. 2. и это всё дело вылетает с следующими логами: Код: java 1. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. И почему вылетает Unknown Source - если передаю соответствующие обекты. При этом использую GlassFish 3.1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 19:06 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
получение доступа к SessionListener из сервлета звучит странно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 20:29 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
breathполучение доступа к SessionListener из сервлета звучит странно немогу понять - где я такое написал что сервлет стучитса к SessionListener !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 23:46 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
dimchuk Код: java 1. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. И почему вылетает Unknown Source - если передаю соответствующие обекты. При этом использую GlassFish 3.1.2 Вы всё напутали. Во-первых порезали исключение, выбросим из него ключевое сообщение об ошибке. Во-вторых Unknown Source это не исключение. Это просто указатель на то что синтетический код, сгенерированый контейнером, не имеет отладочной информации. К вашей проблеме это никакого отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 09:43 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
dimchuk mapa.put(idClient, session); } else{ mapa.put(idClient, session); } Отучайтесь копипастить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 09:43 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
dimchuk Код: java 1. 2. 3. В многопоточном окружении ваше условие никак не гарантирует что get() не вернет null. Почитайте про то как использовать ConcurrentHashMap и особенно про методы интерфейса ConcurrentMap. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 09:47 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Уважаемый. Либо я дура либо лыжи не едут. Немного исправил код, почитал это . Но всёравно вылетают в логах эксепшины. Код: Код: 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. По времени появляние в логах: Код: java 1. 2. Код: 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. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. Код: 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. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. Помогите понять как правельно нужно зделать - чтоб "всё было хорошо" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 20:52 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
dimchuk, Не удаляется у вас сессия в sessionDestroyed. Точно idClient уже с 'e' или 'c'? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 08:58 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
dimchuk, В вашем чудо форматировании логов свихнуться можно: ошибкаCaused by: java.lang.IllegalStateException: PWC2776: invalidate: Session already invalidated ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 10:31 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
Не особо разбирался по коду. Как здесь уже сказали у тебя есть EJB, который управляется EJB контейнером. А также HttpSessionListener который управляется Web контейнером. Для регистрации HttpSessionListener у тебя должен быть в web.xml <listener> <listener-class>....AccessCach</listener-class> </listener> И скорее всего этот слушатель никаким EJB Singleton не является, а просто "новый" экземпляр AccessCach ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 12:50 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
0FD, Относительно 'е' или 'с' - всё верно - в одних ситуация есть приставка 'с' или 'е' - это выплывает из архитектуры проэкта и вариант когда нет приставки дописал(ниже представлю) - за это отдельно Вам спасибо-забыл. Свою же ситуацию решил следующим образом. Старый синглтон был заменил на: Код: 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. Изпользование HttpSessionListener перенёс в другой синглтон: Код: 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. Придал внимание аннотации @WebListener - без которой контейнер не устанавливал даный синглтон как слушателя событий для HttpSession. (Можно и в web.xml наверно прописать - но если так работает, я решил недописывать). Дополнительно прописал ещо один бин который служит некой прослойкой при проверки валидности (servlet->AccessValidator->AccessCach.) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Этот бин прописал для того, щоб на этапе проверки валидности в сервлете - выполнить проверку доступа и собрать некую статистику которая на всех сервлетах одинакова. Костылями дело шито - но работает ... Прошу стого не судить ))) Всех благодарю за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 15:00 |
|
||
|
ejb кеш HttpSesssion
|
|||
|---|---|---|---|
|
#18+
vas0, Спасибо за ответ. Долго просто свой пост набил ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 15:02 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39087389&tid=2124758]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 510ms |

| 0 / 0 |
