В моем приложении (Vaadin.8.6.3, Tomcat 9 и Maven 3) мне нужно установить файлы cookie, которые хорошо работают, если я не использую @Push.Мне нужно @Push только для одного окна прогресса, реализованного, как описано здесь .
Я читал, что можно включать и выключать @Push, например,
getUI().getPushConfiguration().setPushMode(PushMode.AUTOMATIC);
Я пробовал несколько способов и мест в коде, чтобы включить @Pushи выключен, но ничего не работает.
Один пример:
@Push(PushMode.DISABLED)
public class MyUI extends UI {
Поскольку в коде есть несколько мест, где я выполняю обработку файлов cookie, я подумал, что лучше всего отключить @Pushв классе пользовательского интерфейса и включите его, когда я запускаю фоновый поток.
Нажатием кнопки я запускаю исполняемый файл, а в запускаемом я включаю режим @Push:
class Loader implements Runnable {
@Override
public void run() {
try {
getUI().access(() -> {
getUI().getPushConfiguration().setPushMode(PushMode.AUTOMATIC);
getUI().getNavigator().navigateTo("scandataview/" + name);
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
У меня нет ошибок, но ничего не происходит, то есть данные, которые я хочу загрузить, никогда не загружаются, и окно прогресса остается навсегда.
Мои вопросы:
Можно ли просто включить @Push toпоказать окно прогресса при загрузке длинных данных и выключить его после загрузки?
Если да, где в коде я должен включать / выключать @Push?
Если вам нужна дополнительная информация, пожалуйста,дай мне знать.Я был бы очень рад за вашу помощь.Спасибо!