package com.liuxinglanyue.session.rocketmq; import java.security.Principal; import org.apache.catalina.SessionListener; import org.apache.catalina.session.StandardSession; public class RocketMqSession extends StandardSession { private static final long serialVersionUID = 1L; protected transient RocketMqManager _manager; public RocketMqSession(RocketMqManager manager) { super(manager); this._manager = manager; } @Override public void setAttribute(String name, Object value, boolean notify) { super.setAttribute(name, value, notify); _manager.send(this, _manager.tag_add_attribute); } @Override protected void removeAttributeInternal(String name, boolean notify) { super.removeAttributeInternal(name, notify); _manager.send(this, _manager.tag_del_attribute); } @Override public void expire(boolean notify) { super.expire(notify); _manager.send(this, _manager.tag_exp_session); } @Override public void recycle() { super.recycle(); } @Override public void addSessionListener(SessionListener listener) { super.addSessionListener(listener); _manager.send(this, _manager.tag_add_session); } @Override public void setPrincipal(Principal principal) { super.setPrincipal(principal); _manager.send(this, _manager.tag_add_session); } }