Wicket Push服务在返回后无效

时间:2016-03-18 22:56:35

标签: java wicket

我正在玩Wicketstuff Push项目。或推送计时器更具体。现在我面临着后退按钮支持的问题。

正如您在usage页面上看到的,使用推送服务的标准方法是在组件的构造函数中安装推送节点。

public CustomPanel()  {
    // setup UI components ...

    IPushService pushService = TimerPushService.get();
    IPushNode<Message> pushNode = pushService.installNode(this, handler);
    pushService.connectToChannel(pushNode, channel);
}

然后您可以将消息推送到频道

IPushService pushService = TimerPushService.get();
pushService.publish(channel, message);

在您将浏览器中的窗口位置更改为其他网址然后按后退按钮之前,它会完美运行。 Wicket从页面地图中获取页面并呈现它。当然,不会调用组件的构造函数,因为组件层次结构是重用的。但这意味着推送服务不了解您的组件,推送不再起作用。

有没有更好的方法如何使用Push服务?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果Wicketstuff Push有API来检查当前页面是否已连接,那么您可以在onConfigure()方法中移动注册码。每个页面渲染都会调用它。