如何获得Vaadin的所有会议

如何获得Vaadin的所有会议,第1张

如何获得Vaadin的所有会议

到目前为止,我发现的最佳解决方案是计算会话创建销毁时间。

public class VaadinSessionListener{    private static volatile int activeSessions = 0;    public static class VaadinSessionInitListener implements SessionInitListener{        @Override        public void sessionInit(SessionInitEvent event) throws ServiceException { incSessionCounter();         }    }    public static class VaadinSessionDestroyListener implements SessionDestroyListener{        @Override        public void sessionDestroy(SessionDestroyEvent event) {  if(event.getSession() != null && event.getSession().getSession() != null){     decSessionCounter(); }        }    }    public static Integer getActiveSessions() {        return activeSessions;    }    private synchronized static void decSessionCounter(){        if(activeSessions > 0){ activeSessions--;        }    }    private synchronized static void incSessionCounter(){        activeSessions++;    }}

然后在VaadinServlet init()方法中添加SessionListeners

@WebServlet(urlPatterns = "        getService().addSessionInitListener(new VaadinSessionListener.VaadinSessionInitListener());        getService().addSessionDestroyListener(new VaadinSessionListener.VaadinSessionDestroyListener());        }}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5141114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存