MobileIMSDK4Server-mina 4.0(build 2019/04/30)

net.openmob.mobileimsdk.server
类 ServerCoreHandler

java.lang.Object
  继承者 org.apache.mina.core.service.IoHandlerAdapter
      继承者 net.openmob.mobileimsdk.server.ServerCoreHandler
所有已实现的接口:
org.apache.mina.core.service.IoHandler

public class ServerCoreHandler
extends org.apache.mina.core.service.IoHandlerAdapter

MobileIMSDK的MINA IoHandler实现类。

本类是MobileIMSDK的服务端网络调度算法核心所在,其性能将决定整个 即时通讯架构的数据交换性能、负载能力、吞吐效率等。

版本:
1.0
作者:
Jack Jiang
另请参见:
net.nettime.mobileimsdk.server.processor.LogicProcessor, net.nettime.mobileimsdk.server.processor.BridgeProcessor, net.nettime.mobileimsdk.server.processor.OnlineProcessor

字段摘要
protected  BridgeProcessor bridgeProcessor
          跨机器通信中间件服务提供者.
protected  LogicProcessor logicProcessor
          IM消息逻辑处理器(真正的算法实现都在此类中处理).
protected  ServerEventListener serverEventListener
          服务端事件回调实现
protected  MessageQoSEventListenerS2C serverMessageQoSEventListener
          QoS机制下的S2C模式中,由服务端主动发起消息的QoS事件回调实现
 
构造方法摘要
ServerCoreHandler()
          构造方法。
 
方法摘要
protected  BridgeProcessor createBridgeProcessor()
          新建跨机器通信消息中间件服务提供者。
protected  LogicProcessor createLogicProcessor()
          创建MobileIMSDK框架核心层的数据交互处理逻辑封装对象。
 void exceptionCaught(org.apache.mina.core.session.IoSession session, java.lang.Throwable cause)
          MINA的异常回调方法。
 BridgeProcessor getBridgeProcessor()
          获得本类对应的BridgeProcessor对象引用。
 ServerEventListener getServerEventListener()
           
 MessageQoSEventListenerS2C getServerMessageQoSEventListener()
           
 void lazyStartupBridgeProcessor()
          单独的方法启动跨服务器通信桥接处理器,防止出现交叉引用而发生不可预知的错误。
 void messageReceived(org.apache.mina.core.session.IoSession session, java.lang.Object message)
          MINA框架中收到客户端消息的回调方法。
 void sessionClosed(org.apache.mina.core.session.IoSession session)
          MINA框架中,当用户会话被关闭时将调本本方法。
 void sessionCreated(org.apache.mina.core.session.IoSession session)
          当与客户的会话建立时本方法回调用。
 void sessionIdle(org.apache.mina.core.session.IoSession session, org.apache.mina.core.session.IdleStatus status)
          当与客户的会话空闲时本方法回调用。
 void sessionOpened(org.apache.mina.core.session.IoSession session)
          当与客户的会话被打开时本方法回调用。
 
从类 org.apache.mina.core.service.IoHandlerAdapter 继承的方法
inputClosed, messageSent
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

serverEventListener

protected ServerEventListener serverEventListener
服务端事件回调实现


serverMessageQoSEventListener

protected MessageQoSEventListenerS2C serverMessageQoSEventListener
QoS机制下的S2C模式中,由服务端主动发起消息的QoS事件回调实现


logicProcessor

protected LogicProcessor logicProcessor
IM消息逻辑处理器(真正的算法实现都在此类中处理).

从以下版本开始:
3.0

bridgeProcessor

protected BridgeProcessor bridgeProcessor
跨机器通信中间件服务提供者.

从以下版本开始:
3.0
构造方法详细信息

ServerCoreHandler

public ServerCoreHandler()
构造方法。

另请参见:
createLogicProcessor(), ServerLauncher.bridgeEnabled, createBridgeProcessor()
方法详细信息

createLogicProcessor

protected LogicProcessor createLogicProcessor()
创建MobileIMSDK框架核心层的数据交互处理逻辑封装对象。

子类可继承本方法实现自已的逻辑,但在您没有完全掌握MobileIMSDK算法前不建议这样做。

返回:
返回新的LogicProcessor对象
从以下版本开始:
3.0
另请参见:
LogicProcessor

createBridgeProcessor

protected BridgeProcessor createBridgeProcessor()
新建跨机器通信消息中间件服务提供者。

子类可继承本方法实现自已的逻辑,但在您没有完全掌握MobileIMSDK算法前不建议这样做。

返回:
返回新的BridgeProcessor对象
从以下版本开始:
3.0
另请参见:
BridgeProcessor

lazyStartupBridgeProcessor

public void lazyStartupBridgeProcessor()
单独的方法启动跨服务器通信桥接处理器,防止出现交叉引用而发生不可预知的错误。

本方法的目前在 ServerLauncher.startup()中被调用,从而启动与Web的消息互通桥接器。

本方法只在 ServerLauncher.bridgeEnabled == true时才会真实启动桥接处理器。

另请参见:
ServerLauncher.bridgeEnabled, MQProvider.start()

exceptionCaught

public void exceptionCaught(org.apache.mina.core.session.IoSession session,
                            java.lang.Throwable cause)
                     throws java.lang.Exception
MINA的异常回调方法。

本类中将在异常发生时,立即close当前会话。

指定者:
接口 org.apache.mina.core.service.IoHandler 中的 exceptionCaught
覆盖:
org.apache.mina.core.service.IoHandlerAdapter 中的 exceptionCaught
参数:
session - 发生异常的会话
cause - 异常内容
抛出:
java.lang.Exception
另请参见:
IoSession.close(boolean)

messageReceived

public void messageReceived(org.apache.mina.core.session.IoSession session,
                            java.lang.Object message)
                     throws java.lang.Exception
MINA框架中收到客户端消息的回调方法。

本类将在此方法中实现完整的即时通讯数据交互和处理策略, 本方法是整个MobileIMSDK服务端的核心所在

为了提升并发性能,本方法将运行在独立于MINA的IoProcessor之外的线程池中, 详见 ServerLauncher.initAcceptor()中的MINA设置代码 。

指定者:
接口 org.apache.mina.core.service.IoHandler 中的 messageReceived
覆盖:
org.apache.mina.core.service.IoHandlerAdapter 中的 messageReceived
参数:
session - 收到消息对应的会话引用
message - 收到的MINA的原始消息封装对象,本类中是 IoBuffer对象
抛出:
java.lang.Exception - 当有错误发生时将抛出异常
另请参见:
LogicProcessor

sessionClosed

public void sessionClosed(org.apache.mina.core.session.IoSession session)
                   throws java.lang.Exception
MINA框架中,当用户会话被关闭时将调本本方法。

本方法中会将此用户从在线列表及相关队列中移除,将通过回调通知上层代码(由 上层代码接力实现自定义的其它业务处理)。

会话被关闭的可能性有3种:

指定者:
接口 org.apache.mina.core.service.IoHandler 中的 sessionClosed
覆盖:
org.apache.mina.core.service.IoHandlerAdapter 中的 sessionClosed
参数:
session - 被关闭的会话引用
抛出:
java.lang.Exception - 任何错误发生时将抛出本异常
另请参见:
net.openmob.mobileimsdk.server.processor.OnlineProcessor#removeUser(int), net.openmob.mobileimsdk.server.event.ServerEventListener#onUserLogoutAction_CallBack(int, Object)

sessionCreated

public void sessionCreated(org.apache.mina.core.session.IoSession session)
                    throws java.lang.Exception
当与客户的会话建立时本方法回调用。

默认情况下,本方法什么也没做。

指定者:
接口 org.apache.mina.core.service.IoHandler 中的 sessionCreated
覆盖:
org.apache.mina.core.service.IoHandlerAdapter 中的 sessionCreated
参数:
session - 建立的会话对象引用
抛出:
java.lang.Exception

sessionOpened

public void sessionOpened(org.apache.mina.core.session.IoSession session)
                   throws java.lang.Exception
当与客户的会话被打开时本方法回调用。

默认情况下,本方法什么也没做。

指定者:
接口 org.apache.mina.core.service.IoHandler 中的 sessionOpened
覆盖:
org.apache.mina.core.service.IoHandlerAdapter 中的 sessionOpened
参数:
session - 建立的会话对象引用
抛出:
java.lang.Exception

sessionIdle

public void sessionIdle(org.apache.mina.core.session.IoSession session,
                        org.apache.mina.core.session.IdleStatus status)
                 throws java.lang.Exception
当与客户的会话空闲时本方法回调用。

默认情况下,本方法什么也没做。

指定者:
接口 org.apache.mina.core.service.IoHandler 中的 sessionIdle
覆盖:
org.apache.mina.core.service.IoHandlerAdapter 中的 sessionIdle
参数:
session - 建立的会话对象引用
抛出:
java.lang.Exception

getServerEventListener

public ServerEventListener getServerEventListener()

getServerMessageQoSEventListener

public MessageQoSEventListenerS2C getServerMessageQoSEventListener()

getBridgeProcessor

public BridgeProcessor getBridgeProcessor()
获得本类对应的BridgeProcessor对象引用。

返回:
BridgeProcessor对象引用
从以下版本开始:
3.0
另请参见:
BridgeProcessor

MobileIMSDK4Server-mina 4.0(build 2019/04/30)

Copyright © 2019 即时通讯网(52im.net) - 即时通讯技术社区. All rights reserved.