Я играю с проектом Wicketstuff Push. Или более точный таймер. И теперь я столкнулся с проблемой поддержки на задней панели.Служба Wicket Push не работает после возврата
Как вы можете видеть на странице usage, стандартным способом использования push-сервиса является установка push-узла внутри конструктора компонента.
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 берет страницу со своей страницы и отображает ее. Конечно, конструктор вашего компонента не вызывается, потому что иерархия компонентов повторно используется. Но это означает, что служба push не знает о вашем компоненте, а нажатие больше не работает.
Есть ли лучший способ использования службы Push? Как решить эту проблему?