powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Weld CDI context propagation
1 сообщений из 1, страница 1 из 1
Weld CDI context propagation
    #37714338
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня. Не уверен что кто-либо сталкивался с моей проблемой, но все же, попытка не пытка...
А дело вот в чем. Имею CDI бин @SessionScoped. И работает он прекрасно. Но возникла необходимость создавать новый поток в процессе выполнения. Работаем с EJB, поэтому дабы не нарушать рекомендаций, новый поток создаю средствами контейнера - метод, аннотированный @Asynchronous. Но проблема в том, что Weld не распространяет свой контекст на новые потоки. И в методе, выполняемом в новом потоке, нет доступа к @SessionScoped бину - Inject не работает.
для примера:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@Stateless
public class Runner {     
    @Inject
    private MySession session; // this is the @SessionScoped bean
    // this method will be called in a new thread
    @Asynchronous
    public void doTask() { 
        // do some heavy long running work
         ...
        session.setResult(result); // oops - an error:
        // WELD-001303 No active contexts for scope type javax.enterprise.context.SessionScoped
    }   
}


Никто случаем не знает, как указать Weld'у что контекст, в котором определен SessionScoped бин надо бы еще распространить и на новый поток?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Weld CDI context propagation
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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