自从1.8版本以来我一直在使用icefaces,现在我正在进入最新版本(3.0)。我认为我的问题不是版本相关的,但解决方案可能是。 我正在编程使用ICEpush的应用程序。该模型是这样的: 几个设备通过java.net.socket连接到服务器,并在独立线程中运行,每条消息都可能触发ajax推送事件。 当我使用PushRenderer.Render(“组”)时,得到: java.lang.RuntimeException:线程Thread [172.17.1.49,5,main]中不存在FacesContext。 当我使用SessionRenderer.Render(“组”)时,它会按预期工作,当我进入设备的主页时,我可以看到信息如何实时为每个人改变。我发现的问题是,当我尝试导航到我的应用程序中的另一个视图时,我发现它以非常缓慢的方式完成,单击它们后的按钮不起作用。 当我刷新页面时,他们再次开始工作,直到我导航到设备的页面,我再次遇到问题。 我尝试过使用PortableRenderer,但是如果使用PushRenderer.getPortableRenderer(),我得到一个nullPointerException;并且,如果尝试使用PushRenderer.getPortableRenderer(FacesContext.getCurrentInstance()),我发现此方法已将其参数更改为ServletContext,我不知道在哪里可以找到它。Icefaces:服务器推送问题
我希望你能帮助我。
在此先感谢。从faces上下文中
ServletContext servletContext = (ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext();