Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
Jariel
2 / 2 / 1
Регистрация: 24.05.2012
Сообщений: 90
1

Stateful session bean. Для чего нужен Timeout и что делать после его выполнения

22.02.2016, 23:59. Просмотров 398. Ответов 3

Добрый день. У меня такой вопрос. Начну сразу с простого кода одного ejb и сопутствующего Servlet
ejb
Java
1
2
3
4
5
6
7
8
9
10
@Stateful
@StatefulTimeout(value=5, unit=TimeUnit.SECONDS)
public class HelloWorldBean implements IHelloWorldBean
    {
        int i = 0;
        public int sayHello()
        {
            return i++;
        }
}
Servlet
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@javax.servlet.annotation.WebServlet(name = "Servlet")
public class Servlet extends javax.servlet.http.HttpServlet {
 
    @EJB IHelloWorldBean myBean;
 
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
 
    }
 
    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        PrintWriter out = response.getWriter();
 
        out.println(myBean.sayHello());
    }
}
Вот я не могу понять зачем нужен timeout и даже если его вручную не создавать, что делать после его того как он сам сработает.
Просто получается, что после срабатывания timeout и удаления ejb объекта, я получаю от WildFly естественно ошибку, о том что JNDI не может найти нужный ejb. Везде есть вот такая картинка на тему цикла ejb
Stateful session bean. Для чего нужен Timeout и что делать после его выполнения


Так вот всё, у меня нет больше ejb, почему контейнер не создает по новой объект? В итоге у меня Servlet который использует ejb умирает, постоянно выдавая ошибку, что ejb не найден. Смысл тогда использования timeout , если после него не создается чистый новый объект?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2016, 23:59
Ответы с готовыми решениями:

EJB Stateful session bean
Подскажите возможно ли такое при работе в web в одном action классе...

Servlet and Session Bean
чем они отличаются??? и как с ними работать??? как поместить данные из БД на...

Session bean & interfaces
Почему к сессионым бинам мы обращаемся через интерфейсы(Local или Remote)? ...

Удаление stateless session-bean из пула
Hi All Прочитал что удаление stateless session-bean из пула не связано с...

Не могу сделать JNDI lookup из session bean'а
Не могу сделать JNDI lookup, чтобы найти entity bean, из session bean'а. Ссылку...

3
KEKCoGEN
Эксперт Java
2077 / 1945 / 506
Регистрация: 28.12.2010
Сообщений: 7,809
23.02.2016, 00:18 2
Цитата Сообщение от Jariel Посмотреть сообщение
Смысл тогда использования timeout , если после него не создается чистый новый объект?
Насколько я знаю это так не работает. Вы должны сделать лукап вашему бину. Контейнер уничтожает бин после тайм аута и не будет его возвращать.

Вот неплохой пример
0
Jariel
2 / 2 / 1
Регистрация: 24.05.2012
Сообщений: 90
23.02.2016, 00:22  [ТС] 3
@EJB заменяет lookup. я только не понимаю, что дальше делать с тем же Servlet'ом после удаления? Он же будет выдавать постоянно ошибку
0
KEKCoGEN
Эксперт Java
2077 / 1945 / 506
Регистрация: 28.12.2010
Сообщений: 7,809
23.02.2016, 08:48 4
Цитата Сообщение от Jariel Посмотреть сообщение
@EJB заменяет lookup.
вы лукап пробовали делать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2016, 08:48

Tomcat что такое и для чего он нужен?
что такое Tomcat, с чем его едят и для чего он нужен?

Session.TimeOut для разных пользователей
Если в одном из asp-файлов своего приложения я напишу Session.TimeOut=60, верно...

Для чего нужен Seed() и для чего его override?
Привет, ребята. Прочитал много разных статей про Seed(). И так и не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru