YYC
2023-09-07 7243e0b4bd9a267a633d2e481e17646509b6868d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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());
    }
}