IceFaces Push Renderer не работает - FacesContext является нулевым для текущего потока - PullRequest
0 голосов
/ 15 июля 2011

Я пытаюсь создать пример приложения, используя ICEfaces 2.0, glassfish 3.0.1, JMS.Я создал издателя тем JMS, который является настольным приложением и публикует некоторые данные в ТЕМЕ, с другой стороны, у меня есть веб-приложение, где пользователь подписывается на эту ТЕМУ, чтобы получать сообщения от нее.Чтобы применить обновления страницы асинхронно, я использую ICEFaces PushRenderer.PushRenderer работает в сценарии, когда PushRenderer.render () вызывается управляемым экземпляром Bean, но завершается неудачно при вызове из функции onMessage (), которая является прослушивателем сообщений JMS. Сбой рендеринга завершается с сообщением «Текущий потокне имеет связанного с ним FacesContext. Теперь, чтобы сделать эту работу, можно выполнить вызов PushRenderer.render из потока экземпляра управляемого компонента ИЛИ есть ли другой способ заставить PushRenderer.render работать, когда onMessage ()Вызывается издателем TOPIC.? Пожалуйста, помогите относительно этого. Я ищу другие способы сделать эту работу. Также та же процедура работает с ICEFaces 1.8.2 SessionRenderer.render, но она не работает с PushRenderer.render, как упомянуто выше.

1 Ответ

0 голосов
/ 03 августа 2011

Вы можете попробовать рендерер по требованию, что-то вроде:

renderManager.getOnDemandRenderer(identifier).requestRender(); 
...