|
|
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
в одном моём классе (SessionLogChef) хочется кэшировать одну стринг-переменную на ВЕСЬ период жизни веб-сессии. создаю класс-"контейнер", который призван эту переменную персистентно (statefull) держать: Код: 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. использовать его хотел так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. но сразу же при старте приложения огребаю: авторorg.jboss.seam.RequiredException: @In attribute requires non-null value: sessionLogChef.gloBufer вроде и понятно, он хочет уже инициированный обьект класса! (хотя для чего тогда опция "create=true" ??) C другой стороны, когда в классе говоришь ему вместо @In инициализацию: GloboBufer gloBufer = new GloboBufer(); то всё стартует, но похоже он при каждом вызове создает обьект gloBufer снова! (Что видно в процессе работы по "GloboBufer-BEFORE! : null" ) как инстанцировать объект класса (GloboBufer ) чтоб он держал переменные от начала и до самого конца? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2013, 20:24:59 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2013, 22:40:00 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
ViktorWM, Код: java 1. Это решит проблему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 04:45:51 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
GregTk, сделал: Код: java 1. 2. 3. 4. 5. а так же пробывал и с: @Name("globoBuff") Cпасибо, но пока ровно те же проблемы что я описал выше! (как с @IN так и со "=new") :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 06:15:20 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
у кого ещё есть идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 11:30:08 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
Up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 13:41:33 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
ViktorWM, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Так тоже не работает? Это вообще JBoss Seam 2.x или нет? или это Seam 3.0 или вообще CDI? Мой пример для Seam 2.x должен работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 15:48:03 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
GregTkViktorWM, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Так тоже не работает? Это вообще JBoss Seam 2.x или нет? или это Seam 3.0 или вообще CDI? Мой пример для Seam 2.x должен работать. Привет, я сделал как ты предлагаешь, но с тем отличием только что не: Код: java 1. 2. 3. а Код: java 1. 2. 3. получаю при попытке стартовать проект: авторCaused by: java.lang.IllegalArgumentException: @PersistenceContext may only be used on session bean or message driven bean components: globoBufer at org.jboss.seam.Component.checkPersistenceContextForComponentType(Component.java:904) at org.jboss.seam.Component.scanField(Component.java:880) at org.jboss.seam.Component.initMembers(Component.java:560) at org.jboss.seam.Component.<init>(Component.java:247) at org.jboss.seam.Component.<init>(Component.java:208) at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1186) ... 92 more 20:13:31,562 ERROR [StandardContext] Error listenerStart ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2013, 23:48:26 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
ViktorWM, Кони, люди, всё перемешалось.... По сути: @PersistenceContext может юзатся только в EJB, Seam может оборачивать EJB и делать из них Seam Component. Вопрос в том нужно ли оно именно в таком виде. Я всегда юзаю только Seam Components без EJB. Выложи код твоих компонентов с полями которые у тебя там есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2013, 05:07:22 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
GregTk, большое спасибо! Всё уже получилось! Я просто до этого прозевал опцию @PersistenceContext над (кэшируемым) полем класса!(осталась видать от старых экспериментов!) Теперь работает именно Ваш Вариант!!! @Name("globoBufer") @Scope(ScopeType.SESSION) public class GloboBufer { И удерживает нужную переменную до самого логаута юзера! (это я уже установил!) Т.е. выходит, что опция: @Scope(ScopeType.SESSION) указвает компоненте жить на весь период юзерской сессии (от логина до логаута!) и поэтому более "долгоиграющая", чем опция: @Scope(ScopeType.CONVERSATION) да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 02:12:44 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
а доку почитать не? Да в любой статье про Seam рассказывается про конверсэйшены и чем они отличаются от сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 03:19:14 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
ViktorWM, CONVERSATION это такой контекст временем жизни, которого ты можешь управлять в зависимости от твоей логики. Почитай про механизмы @Begin, @Begin(join="true"), @End. Вообще вся мощь по мнению авторов Seam как раз в этом. На практике в проекте длящемся порядко 6 месяцев из 6 человек в команде с ним свободно никто не смог работать, слишком много нюансов. Да и сами примеры, которые идут с Seam падают в debug.seam если что-нибудь с делать не так как задумали авторы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 08:02:59 |
|
||
|
как создать объект класса (GloboBufer ) чтоб он кэшировал от начала и до конца веб-сессии?
|
|||
|---|---|---|---|
|
#18+
GregTkViktorWM, CONVERSATION это такой контекст временем жизни, которого ты можешь управлять в зависимости от твоей логики. Почитай про механизмы @Begin, @Begin(join="true"), @End. Вообще вся мощь по мнению авторов Seam как раз в этом. На практике в проекте длящемся порядко 6 месяцев из 6 человек в команде с ним свободно никто не смог работать, слишком много нюансов. Да и сами примеры, которые идут с Seam падают в debug.seam если что-нибудь с делать не так как задумали авторы. мда.... стоит задуматься.... Спасибо за информацию к размышлению! А на что тогда уходить человеку (=мне) который ваяет свой индивидуальный (пока что как хобби!) проект, и который весьма силен в Oracle, но совершенно без опыта в яве и вообще в web-программировании? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2013, 17:36:20 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38154426&tid=2129866]: |
0ms |
get settings: |
25ms |
get forum list: |
31ms |
check forum access: |
10ms |
check topic access: |
10ms |
track hit: |
59ms |
get topic data: |
26ms |
get forum data: |
5ms |
get page messages: |
104ms |
get tp. blocked users: |
4ms |
| others: | 310ms |
| total: | 584ms |

| 0 / 0 |
