我在Liferay的同一页面上使用了2个Vaadin Portlet。第一个显示条目表,每行有一个按钮,显示有关此条目的详细信息。
当单击该按钮时,将发送IPC事件,该事件由第二个portlet接收,然后该事件也切换到显示内容的表视图。
通过单击第一个portlet上的关闭按钮,第二个portlet将再次收到一个IPC事件并返回其原始状态,这是一个只附有Liferay IPC监听器的空白视图。
我的问题是,在第三次点击后,我得到Liferay的不同步错误。当视图改变时,我总是将它附加到主窗口。所以我不创建具有相同名称的其他窗口。
当我在页面上只使用一个portlet时,我可以毫无问题地来回切换。可能是某些时候浏览器想要在客户端发起一个事件,但IPC已经在服务器端消失了?
很难确定这个问题的根源。
答案 0 :(得分:0)
你走在正确的轨道上。 IPC在客户端工作,不同步是由从客户端到服务器调用的非现有组件引起的。
可能有一些导致这种情况,但有些情况需要检查:
希望这有助于您缩小案例范围并找到解决方案。请更新此问题。