BeanStore beanStore = session.getAttribute(BeanStore.class);
if (beanStore == null) {
beanStore = new BeanStore("session " + session.getSession().getId());
session.setAttribute(BeanStore.class, beanStore);
final BeanStore theBeanStore = beanStore;
session.getService().addSessionDestroyListener(new SessionDestroyListener() {
@Override
public void sessionDestroy(SessionDestroyEvent event) {
theBeanStore.destroy();
event.getService().removeSessionDestroyListener(this);
}