【发布时间】:2016-03-18 22:56:34
【问题描述】:
我正在玩 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);
它可以完美运行,直到您将浏览器中的窗口位置更改为其他 URL,然后按返回按钮。 Wicket 从其页面映射中获取页面并呈现它。当然,不会调用组件的构造函数,因为组件层次结构被重用。但这意味着推送服务不知道您的组件并且推送不再起作用。
有没有更好的方式来使用推送服务?如何解决这个问题?
【问题讨论】: