Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context) / 8 сообщений из 8, страница 1 из 1
22.06.2005, 10:53
    #33128289
ponomarevvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
Приветствую всех.
Возникла такая проблема.
Есть JBoss 3.2.2, на нём вертится приложение, использующее EJB. Есть форма для поиска: заполняются поля -> submit -> беру Stateful Bean, у него вызываю метод поиска. Так вот периодически (не всегда!) валится исключение:
Код: plaintext
1.
2.
3.
4.
5.
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=]
…
Т.е. вроде как вторая транзакция не может получить доступ к бину до завершения первой…
Прогуглил, нашёл только вот это , но там человеку не ответили
Что за беда, может, кто сталкивался?
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
22.06.2005, 11:05
    #33128325
Gurney
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
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
...
Рейтинг: 0 / 0
22.06.2005, 11:21
    #33128385
ponomarevvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
Да, сессия одна и та же. Условия возникновения (хотя и не всегда срабатывает): пользователь заполнил форму -> нажал "Поиск" -> ему показали результат -> нажал "Назад" (не в IE, а на странице по ссылке ткнул) -> опять заполнил -> опять "Поиск". Вот тут и валится обычно.
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
22.06.2005, 12:10
    #33128537
Gurney
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
ponomarevvb wrote:
> Да, сессия одна и та же. Условия возникновения (хотя и не всегда
> срабатывает): пользователь заполнил форму -> нажал "Поиск" -> ему
> показали результат -> нажал "Назад" (не в IE, а на странице по ссылке
> ткнул) -> опять заполнил -> опять "Поиск". Вот тут и валится обычно.
Может стоит сделать метод поиска не транзакционным? Никакого смысла
делать поиск в рамках транзакции нет. Скорее наоборот, поисковые запросы
в рамках транзакции будут тормозить сервак.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
22.06.2005, 13:07
    #33128709
ponomarevvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
Да, мысль. Буду сейчас пробовать…
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
22.06.2005, 13:20
    #33128740
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
так а может вообще stateless bean использовать.

Хотя вопрос с сылки от ponomarevvb очень интресный.
Now my question : How can I avoid that the SFSB is called when a transaction is running ?

Ведь такая ситуация может возникать очень часто, неужели нет выхода? Не верю :)
А, что делать, если отменить у session bean транзакции нельзя?
...
Рейтинг: 0 / 0
22.06.2005, 13:44
    #33128832
ponomarevvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
2 Gurney:
спасибо за идею, вроде помогло (использую XDoclet, подписал к методу @ejb.transaction type = "Never").

2 wessen:
Вот меня тоже этот вопрос очень интересует
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
27.06.2005, 08:08
    #33135494
Gurney
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context)
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
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема со StatefulBean (ошибка - tried to enter Stateful bean with different tx context) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]