JSF опрашивает базу данных из компонента приложения через определенные промежутки времени - PullRequest
0 голосов
/ 28 апреля 2011

Привет всем, я довольно новичок в jsf, так что если это плохой вопрос, то я прошу прощения. В настоящее время я работаю над школьным проектом, где мне нужно получить доступ к базе данных через веб-сервис, чтобы получить некоторые основные данные приложения. У меня есть класс, который получает доступ к этим данным через метод, а затем возвращает новейшие результаты из базы данных.

Что я хочу сделать, так это создать поток, вызывающий метод обновления базы данных. Метод run выглядит примерно так: я получаю компонент приложения, а затем вызываю метод refresh для него.

theFacesContext = FacesContext.getCurrentInstance();<br> ApplicationBean app = (ApplicationBean)theFacesContext.getELContext().getELResolver().getValue(theFacesContext.getELContext(), null, applicationbean);<br> app.getDBValues();

Поток будет затем зацикливаться на основе переменной, которая будет установлена ​​в false при уничтожении компонента приложения. Моя ошибка в том, что поток теряет FaceContext. Я видел некоторые посты, где люди что-то говорят по всей линии, что вы должны держать ветку в запросе, но я не уверен, что это значит. Любые предложения будут чрезвычайно полезны.

Ответы [ 2 ]

1 голос
/ 01 мая 2011

Если вы хотите отобразить фактические данные, вы должны использовать опрос или отправку на стороне сервера.Есть много компонентов ajax, которые могут помочь.Посмотрите на
компонент опроса PrimeFaces
RichFaces push
опрос RichFaces
ICEfaces

0 голосов
/ 28 апреля 2011

Действительно, FacesContext недоступно в новой теме.Это связано с тем, что он хранится в ThreadLocal и инициируется для каждого запроса.

Вы можете получить желаемый bean-компонент и передать его новому потоку, чтобы вы больше не полагались на контекст лица там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...