Я работаю с icefaces начиная с его версии 1.8, и теперь я вхожу в последнюю версию (3.0). Я думаю, что моя проблема не связана с версией, но решение может быть.
Я программирую приложение, которое использует ICEpush. Модель такая:
Несколько устройств подключены к серверу через java.net.socket и работают в независимом потоке, и каждое сообщение может инициировать событие push ajax.
Когда я использую PushRenderer.Render («группа»), я получаю это:
java.lang.RuntimeException: FacesContext отсутствует для потока Thread [172.17.1.49,5, main].
Когда я использую SessionRenderer.Render («группа»), он работает должным образом, когда я захожу на главную страницу устройств и вижу, как информация меняется в реальном времени для всех. Проблема, которую я нахожу, заключается в том, что, когда я пытаюсь перейти к другому представлению в моем приложении, я вижу, что это делается очень медленно, и кнопки после нажатия на них не работают.
Когда я обновляю страницу, они снова начинают работать, пока я не перехожу на страницу устройств, где снова возникает проблема.
Я пытался с PortableRenderer, но если я использую PushRenderer.getPortableRenderer (), я получаю исключение nullPointerException; и, если попытаться использовать PushRenderer.getPortableRenderer (FacesContext.getCurrentInstance ()), я обнаружу, что этот метод изменил свой параметр на ServletContext, и я не знаю, где его найти.
Надеюсь, вы поможете мне с этим.
спасибо заранее.