|
|
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
Приветствую всех. Возникла такая проблема. Есть JBoss 3.2.2, на нём вертится приложение, использующее EJB. Есть форма для поиска: заполняются поля -> submit -> беру Stateful Bean, у него вызываю метод поиска. Так вот периодически (не всегда!) валится исключение: Код: plaintext 1. 2. 3. 4. 5. Прогуглил, нашёл только вот это , но там человеку не ответили Что за беда, может, кто сталкивался? --С уважением, ponomarevvb-- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 10:53 |
|
||
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
ponomarevvb wrote: > javax.ejb.EJBException: Application Error: tried to enter Stateful bean with dif > ferent tx context, contextTx: TransactionImpl:XidImpl [FormatId=*257*, GlobalId=vz > 1b165c//591, BranchQual=], methodTx: TransactionImpl:XidImpl [FormatId=257, Glob > alId=vz1b165c//595, BranchQual=] > : > > Т.е. вроде как вторая транзакция не может получить доступ к бину до > завершения первой: У тебя эта сессия одна и таже на все запросы или для каждого запроса своя получается через JNDI? Возможно возникает race-condition на доступ к Stateful session между разными потоками, которые параллельно обрабатывают запросы. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:05 |
|
||
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
Да, сессия одна и та же. Условия возникновения (хотя и не всегда срабатывает): пользователь заполнил форму -> нажал "Поиск" -> ему показали результат -> нажал "Назад" (не в IE, а на странице по ссылке ткнул) -> опять заполнил -> опять "Поиск". Вот тут и валится обычно. --С уважением, ponomarevvb-- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:21 |
|
||
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
ponomarevvb wrote: > Да, сессия одна и та же. Условия возникновения (хотя и не всегда > срабатывает): пользователь заполнил форму -> нажал "Поиск" -> ему > показали результат -> нажал "Назад" (не в IE, а на странице по ссылке > ткнул) -> опять заполнил -> опять "Поиск". Вот тут и валится обычно. Может стоит сделать метод поиска не транзакционным? Никакого смысла делать поиск в рамках транзакции нет. Скорее наоборот, поисковые запросы в рамках транзакции будут тормозить сервак. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 12:10 |
|
||
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
Да, мысль. Буду сейчас пробовать… --С уважением, ponomarevvb-- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 13:07 |
|
||
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
так а может вообще stateless bean использовать. Хотя вопрос с сылки от ponomarevvb очень интресный. Now my question : How can I avoid that the SFSB is called when a transaction is running ? Ведь такая ситуация может возникать очень часто, неужели нет выхода? Не верю :) А, что делать, если отменить у session bean транзакции нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 13:20 |
|
||
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
2 Gurney: спасибо за идею, вроде помогло (использую XDoclet, подписал к методу @ejb.transaction type = "Never"). 2 wessen: Вот меня тоже этот вопрос очень интересует --С уважением, ponomarevvb-- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 13:44 |
|
||
|
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
|
|||
|---|---|---|---|
|
#18+
wessen wrote: > так а может вообще stateless bean использовать. > > Хотя вопрос с сылки от ponomarevvb очень интресный. > Now my question : How can I avoid that the SFSB is called when a > transaction is running ? > > Ведь такая ситуация может возникать очень часто, неужели нет выхода? Не > верю :) > А, что делать, если отменить у session bean транзакции нельзя? Проблема возникает только в многопоточной среде. Поэтому можно использовать семафор для контроля доступа к сессии. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 08:08 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2152142]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 380ms |

| 0 / 0 |
