我现在在做一个后台,需要批量发送消息到正在活跃的所有UI,请问是否有订阅功能,或者别的功能可以实现,获取实时正在活跃的UI;
VaadinSession.getCurrent().getUIs()
可以获取到所有的UI
好的谢谢。那订阅模式可以设置吗。当收到消息后,会自动推送到所有订阅的UI?
Haijian Wang:
VaadinSession.getCurrent().getUIs()
可以获取到所有的UI
如果不是在当前的UI中获取 比如在Bean类型为@Componnet的类里是获取不到VaadinSession的。那这个类要如何获取当前活跃的UI呢
Vaadin没有提供订阅的功能,不过可以使用第三方的框架或是库来实现,比如guava或是Spring之类的。
Spring 默认的Scope是 Singleton的,所以获取不到VaadinSession. 如果可以的话,把那个类加上@VaadinSessionScope或是别的更小一点的scope应该可以解决这个问题