package com.ld.igds.protocol.zldz.server;
|
|
import com.ld.igds.io.notify.ServerNotifyInvoker;
|
import com.ld.igds.protocol.zldz.command.BaseRemoteImpl;
|
import com.ld.igds.protocol.zldz.mq.PublisherControl;
|
import com.ld.igds.protocol.zldz.util.ServerUtils;
|
import com.ld.igds.util.SpringUtil;
|
import com.ld.io.api.IoSession;
|
import com.ld.io.api.IoSessionListener;
|
|
public class SessionListener extends BaseRemoteImpl implements IoSessionListener {
|
|
public static final String BEAN_ID = "zldz.sessionListener";
|
|
private ServerNotifyInvoker serverNotifyInvoker;
|
|
private PublisherControl publisherControl;
|
|
@Override
|
public void onCreate(IoSession session) {
|
|
// 添加自定义业务ID
|
session.setBusinessKey(ServerUtils.getServerKey(session.getAddress(), session.getPort()));
|
|
//2021年6月9日 调整使用为队列
|
if (null == publisherControl) {
|
publisherControl = SpringUtil.getBean(PublisherControl.class);
|
}
|
publisherControl.publishLoginMessage(session.getBusinessKey());
|
}
|
|
@Override
|
public void onDestroy(IoSession session) {
|
if (null == serverNotifyInvoker) {
|
serverNotifyInvoker = SpringUtil.getBean(ServerNotifyInvoker.class);
|
}
|
serverNotifyInvoker.connectDestory(session.getBusinessKey(),
|
session.getAddress(), session.getPort());
|
}
|
}
|