类 FlowContext
java.lang.Object
com.iohao.game.action.skeleton.core.flow.FlowContext
- 所有已实现的接口:
FlowOptionDynamic
业务框架 flow 上下文
生命周期存在于这一次的 flow 过程 实现了类型明确的动态属性接口FlowOptionDynamic
,实现类只需要实现 getOptions 方法就能具有动态属性的功能。 动态属性可以更方便的为 FlowContext 实现属性的扩展,以方便开发者。 扩展属性接口FlowAttr
FlowContext 还支持开发者自定义,具体参考 文档 - FlowContext
- 作者:
- 渔民小镇
- 另请参阅:
- 日期:
- 2021-12-21
-
构造器概要
-
方法概要
修饰符和类型方法说明default void
全服广播default void
广播消息给单个用户default void
broadcast
(CmdInfo cmdInfo, Object bizData, Collection<Long> userIdList) 广播消息给指定用户列表default void
broadcast
(ResponseMessage responseMessage) 全服广播default void
broadcast
(ResponseMessage responseMessage, long userId) 广播消息给单个用户default void
broadcast
(ResponseMessage responseMessage, Collection<Long> userIdList) 广播消息给指定用户列表default void
broadcastMe
(CmdInfo cmdInfo, Object bizData) 给自己发送消息default void
broadcastMe
(ResponseMessage responseMessage) 给自己发送消息default void
broadcastMe
(Object bizData) 给自己发送消息default void
broadcastOrder
(CmdInfo cmdInfo, Object bizData) 顺序 - 全服广播default void
broadcastOrder
(CmdInfo cmdInfo, Object bizData, long userId) 顺序 - 广播消息给单个用户default void
broadcastOrder
(CmdInfo cmdInfo, Object bizData, Collection<Long> userIdList) 顺序 - 广播消息给指定用户列表default void
broadcastOrder
(ResponseMessage responseMessage) 顺序 - 全服广播default void
broadcastOrder
(ResponseMessage responseMessage, long userId) 顺序 - 广播消息给单个用户default void
broadcastOrder
(ResponseMessage responseMessage, Collection<Long> userIdList) 顺序 - 广播消息给指定用户列表default void
broadcastOrderMe
(CmdInfo cmdInfo, Object bizData) 顺序 - 给自己发送消息default void
broadcastOrderMe
(ResponseMessage responseMessage) 顺序 - 给自己发送消息default void
broadcastOrderMe
(Object bizData) 顺序 - 给自己发送消息default EventBusMessage
createEventBusMessage
(Object eventSource) 创建事件消息default RequestCollectExternalMessage
createRequestCollectExternalMessage
(int bizCode) 创建 RequestCollectExternalMessage,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息default RequestCollectExternalMessage
createRequestCollectExternalMessage
(int bizCode, Serializable data) 创建 RequestCollectExternalMessage,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息default RequestMessage
createRequestMessage
(CmdInfo cmdInfo) Create a RequestMessage object and use some of the properties of the current FlowContext HeadMetadata.default RequestMessage
createRequestMessage
(CmdInfo cmdInfo, Object data) 创建一个 request 对象,并使用当前 FlowContext HeadMetadata 部分属性。default ResponseMessage
createResponseMessage
(CmdInfo cmdInfo, Object data) 创建响应对象,通常用于广播default void
使用用户线程执行任务,该方法具备全链路调用日志跟踪default void
executeVirtual
(Runnable command) 使用虚拟线程执行任务,该方法具备全链路调用日志跟踪default void
[异步] 发送事件给所有订阅者default void
[异步] 给当前进程的订阅者和远程进程的订阅者送事件消息,如果同类型逻辑服存在多个,只会给其中一个实例发送。default void
fireAnySync
(Object eventSource) [同步] 给当前进程的订阅者和远程进程的订阅者送事件消息,如果同类型逻辑服存在多个,只会给其中一个实例发送。default void
[异步] 给当前进程所有逻辑服的订阅者发送事件消息default void
fireLocalSync
(Object eventSource) [同步] 给当前进程所有逻辑服的订阅者发送事件消息default void
[异步] 仅给当前 EventBus 的订阅者发送事件消息default void
fireMeSync
(Object eventSource) [同步] 仅给当前 EventBus 的订阅者发送事件消息default void
[同步] 发送事件给所有订阅者default <T extends UserAttachment>
T得到元附加信息default <T extends UserAttachment>
TgetAttachment
(Class<T> clazz) 得到元附加信息业务框架default BroadcastContext
广播通讯上下文default BroadcastOrderContext
广播通讯上下文 - 严格顺序的default BrokerClientContext
游戏逻辑服default CmdInfo
当前请求的路由default EventBus
EventBus 是逻辑服事件总线。default Executor
玩家对应的用户线程执行器,该执行器也是消费 action 的执行器default ExecutorRegion
long
InOut 执行完成后所消耗的时间default InvokeExternalModuleContext
游戏逻辑服与游戏对外服的通讯上下文default InvokeModuleContext
游戏逻辑服与游戏逻辑服之间的通讯上下文default ThreadExecutor
玩家对应的用户线程执行器 ThreadExecutor,该执行器也是消费 action 的执行器default long
userIddefault Executor
玩家对应的虚拟线程执行器default ThreadExecutor
玩家对应的虚拟线程执行器 ThreadExecutorvoid
开始时间记录,用于 InOut 插件 fuckIn 方法的时间记录default ResponseCollectExternalMessage
invokeExternalModuleCollectMessage
(int bizCode) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服default ResponseCollectExternalMessage
invokeExternalModuleCollectMessage
(int bizCode, Serializable data) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服default ResponseCollectExternalMessage
【游戏逻辑服】访问【游戏对外服】,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息, 如果 request 没有指定 sourceClientId,将会访问所有的游戏对外服。default void
invokeExternalModuleCollectMessageAsync
(int bizCode, Serializable data, Consumer<ResponseCollectExternalMessage> callback) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服default void
invokeExternalModuleCollectMessageAsync
(int bizCode, Consumer<ResponseCollectExternalMessage> callback) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服default void
invokeExternalModuleCollectMessageAsync
(RequestCollectExternalMessage request, Consumer<ResponseCollectExternalMessage> callback) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服default void
invokeExternalModuleCollectMessageAsync
(RequestCollectExternalMessage request, Consumer<ResponseCollectExternalMessage> callback, Executor callbackExecutor) 【游戏逻辑服】访问【游戏对外服】,如果RequestCollectExternalMessage
没有指定 sourceClientId,将会访问所有的游戏对外服。invokeExternalModuleCollectMessageFuture
(int bizCode) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服invokeExternalModuleCollectMessageFuture
(int bizCode, Serializable data) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服【游戏逻辑服】访问【游戏对外服】,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息, 如果 request 没有指定 sourceClientId,将会访问所有的游戏对外服。default ResponseCollectMessage
invokeModuleCollectMessage
(CmdInfo cmdInfo) 模块之间的访问,访问【同类型】的多个逻辑服default ResponseCollectMessage
invokeModuleCollectMessage
(CmdInfo cmdInfo, Object data) 模块之间的访问,访问【同类型】的多个逻辑服default ResponseCollectMessage
invokeModuleCollectMessage
(RequestMessage requestMessage) 模块之间的访问,访问【同类型】的多个逻辑服default void
invokeModuleCollectMessageAsync
(CmdInfo cmdInfo, Object data, Consumer<ResponseCollectMessage> callback) 模块之间的访问,访问【同类型】的多个逻辑服default void
invokeModuleCollectMessageAsync
(CmdInfo cmdInfo, Consumer<ResponseCollectMessage> callback) 模块之间的访问,访问【同类型】的多个逻辑服default void
invokeModuleCollectMessageAsync
(RequestMessage requestMessage, Consumer<ResponseCollectMessage> callback) 模块之间的访问,访问【同类型】的多个逻辑服default void
invokeModuleCollectMessageAsync
(RequestMessage requestMessage, Consumer<ResponseCollectMessage> callback, Executor callbackExecutor) 模块之间的访问,访问【同类型】的多个逻辑服default CompletableFuture
<ResponseCollectMessage> invokeModuleCollectMessageFuture
(CmdInfo cmdInfo) 模块之间的访问,访问【同类型】的多个逻辑服default CompletableFuture
<ResponseCollectMessage> invokeModuleCollectMessageFuture
(CmdInfo cmdInfo, Object data) 模块之间的访问,访问【同类型】的多个逻辑服default CompletableFuture
<ResponseCollectMessage> invokeModuleCollectMessageFuture
(RequestMessage requestMessage) 模块之间的访问,访问【同类型】的多个逻辑服default ResponseMessage
invokeModuleMessage
(CmdInfo cmdInfo) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default ResponseMessage
invokeModuleMessage
(CmdInfo cmdInfo, Object data) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default ResponseMessage
invokeModuleMessage
(RequestMessage requestMessage) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default void
invokeModuleMessageAsync
(CmdInfo cmdInfo, Object data, Consumer<ResponseMessage> callback) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default void
invokeModuleMessageAsync
(CmdInfo cmdInfo, Consumer<ResponseMessage> callback) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default void
invokeModuleMessageAsync
(RequestMessage requestMessage, Consumer<ResponseMessage> callback) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default void
invokeModuleMessageAsync
(RequestMessage requestMessage, Consumer<ResponseMessage> callback, Executor callbackExecutor) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default CompletableFuture
<ResponseMessage> invokeModuleMessageFuture
(CmdInfo cmdInfo) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default CompletableFuture
<ResponseMessage> invokeModuleMessageFuture
(CmdInfo cmdInfo, Object data) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default CompletableFuture
<ResponseMessage> invokeModuleMessageFuture
(RequestMessage requestMessage) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据default void
invokeModuleVoidMessage
(CmdInfo cmdInfo) 根据路由信息来请求其他子服务器(其他逻辑服)的方法,并且不需要返回值default void
invokeModuleVoidMessage
(CmdInfo cmdInfo, Object data) 根据路由信息来请求其他子服务器(其他逻辑服)的方法,并且不需要返回值default void
invokeModuleVoidMessage
(RequestMessage requestMessage) 根据路由信息来请求其他子服务器(其他逻辑服)的方法,并且不需要返回值setMethodResult
(Object methodResult) 设置响应结果default boolean
setUserId
(long userId) After setting the userId, it means the login is successfuldefault SettingUserIdResult
setUserIdAndGetResult
(long userId) After setting the userId, it means the login is successfuldefault <U> CompletableFuture
<U> supplyAsync
(Supplier<U> supplier) default void
更新元信息default void
updateAttachment
(UserAttachment attachment) 更新元信息default void
更新元信息default void
updateAttachmentAsync
(UserAttachment attachment) 更新元信息从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 com.iohao.game.action.skeleton.core.flow.attr.FlowOptionDynamic
getOptions, hasOption, option, option
-
构造器详细资料
-
FlowContext
public FlowContext()
-
-
方法详细资料
-
setMethodResult
设置响应结果- 参数:
methodResult
- 响应结果- 返回:
- this
-
getHeadMetadata
-
inOutStartTime
public void inOutStartTime()开始时间记录,用于 InOut 插件 fuckIn 方法的时间记录记录 InOut 插件的开始时间 由于时间记录会比较常用,所以有必要放到该类中
-
getInOutTime
public long getInOutTime()InOut 执行完成后所消耗的时间在此之前,确保调用了
this.inOutStartTime()
方法- 返回:
- 消耗时间 = System.currentTimeMillis - inOutStartTime
-
updateAttachment
更新元信息[同步更新] 将元信息更新到玩家所在的游戏对外服中
- 参数:
attachment
- 元信息
-
updateAttachmentAsync
更新元信息[异步更新] 将元信息更新到玩家所在的游戏对外服中
- 参数:
attachment
- 元信息
-
updateAttachment
default void updateAttachment()更新元信息[同步更新] 将元信息更新到玩家所在的游戏对外服中
-
updateAttachmentAsync
default void updateAttachmentAsync()更新元信息[异步更新] 将元信息更新到玩家所在的游戏对外服中
-
getAttachment
得到元附加信息一般是在游戏对外服中设置的一些附加信息 这些信息会跟随请求来到游戏逻辑服中
- 类型参数:
T
- t- 参数:
clazz
- clazz- 返回:
- 元附加信息
-
getAttachment
得到元附加信息example
// 自定义 FlowContext public class MyFlowContext extends FlowContext { MyAttachment attachment; @Override @SuppressWarnings("unchecked") public MyAttachment getAttachment() { if (Objects.isNull(attachment)) { this.attachment = this.getAttachment(MyAttachment.class); } return this.attachment; } } // 自定义元信息类 public class MyAttachment implements Attachment { @Getter long userId; }
- 类型参数:
T
- t- 返回:
- 元附加信息
-
invokeExternalModuleCollectMessage
【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服文档 - 获取游戏对外服的数据与扩展 同步调用
- 参数:
bizCode
- bizCode- 返回:
- ResponseCollectExternalMessage 一定不为 null
-
invokeExternalModuleCollectMessage
default ResponseCollectExternalMessage invokeExternalModuleCollectMessage(int bizCode, Serializable data) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服文档 - 获取游戏对外服的数据与扩展 同步调用
- 参数:
bizCode
- bizCodedata
- 业务数据- 返回:
- ResponseCollectExternalMessage 一定不为 null
-
createRequestCollectExternalMessage
创建 RequestCollectExternalMessage,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息- 参数:
bizCode
- 业务码- 返回:
- RequestCollectExternalMessage
-
createRequestCollectExternalMessage
default RequestCollectExternalMessage createRequestCollectExternalMessage(int bizCode, Serializable data) 创建 RequestCollectExternalMessage,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息- 参数:
bizCode
- 业务码data
- 业务数据- 返回:
- RequestCollectExternalMessage
-
invokeExternalModuleCollectMessage
default ResponseCollectExternalMessage invokeExternalModuleCollectMessage(RequestCollectExternalMessage request) 【游戏逻辑服】访问【游戏对外服】,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息, 如果 request 没有指定 sourceClientId,将会访问所有的游戏对外服。文档 - 获取游戏对外服的数据与扩展 同步调用
- 参数:
request
- request- 返回:
- ResponseCollectExternalMessage 一定不为 null
-
invokeExternalModuleCollectMessageFuture
default CompletableFuture<ResponseCollectExternalMessage> invokeExternalModuleCollectMessageFuture(int bizCode) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服文档 - 获取游戏对外服的数据与扩展 异步调用
- 参数:
bizCode
- bizCode- 返回:
- ResponseCollectExternalMessage 一定不为 null
-
invokeExternalModuleCollectMessageFuture
default CompletableFuture<ResponseCollectExternalMessage> invokeExternalModuleCollectMessageFuture(int bizCode, Serializable data) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服文档 - 获取游戏对外服的数据与扩展 异步调用
- 参数:
bizCode
- bizCodedata
- 业务数据- 返回:
- ResponseCollectExternalMessage 一定不为 null
-
invokeExternalModuleCollectMessageFuture
default CompletableFuture<ResponseCollectExternalMessage> invokeExternalModuleCollectMessageFuture(RequestCollectExternalMessage request) 【游戏逻辑服】访问【游戏对外服】,会为RequestCollectExternalMessage
添加 userId、traceId 相关信息, 如果 request 没有指定 sourceClientId,将会访问所有的游戏对外服。文档 - 获取游戏对外服的数据与扩展 异步调用
- 参数:
request
- request- 返回:
- ResponseCollectExternalMessage 一定不为 null
-
invokeExternalModuleCollectMessageAsync
default void invokeExternalModuleCollectMessageAsync(int bizCode, Consumer<ResponseCollectExternalMessage> callback) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服文档 - 获取游戏对外服的数据与扩展 异步调用,回调编码风格,具备 traceId
- 参数:
bizCode
- bizCodecallback
- 异步回调方法
-
invokeExternalModuleCollectMessageAsync
default void invokeExternalModuleCollectMessageAsync(int bizCode, Serializable data, Consumer<ResponseCollectExternalMessage> callback) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服文档 - 获取游戏对外服的数据与扩展 异步调用,回调编码风格,具备 traceId
- 参数:
bizCode
- bizCodedata
- 业务数据callback
- 异步回调方法
-
invokeExternalModuleCollectMessageAsync
default void invokeExternalModuleCollectMessageAsync(RequestCollectExternalMessage request, Consumer<ResponseCollectExternalMessage> callback) 【游戏逻辑服】访问玩家所在的【游戏对外服】,通常是发起请求的游戏对外服文档 - 获取游戏对外服的数据与扩展 异步调用,回调编码风格,具备 traceId
- 参数:
request
- requestcallback
- 异步回调方法
-
invokeExternalModuleCollectMessageAsync
default void invokeExternalModuleCollectMessageAsync(RequestCollectExternalMessage request, Consumer<ResponseCollectExternalMessage> callback, Executor callbackExecutor) 【游戏逻辑服】访问【游戏对外服】,如果RequestCollectExternalMessage
没有指定 sourceClientId,将会访问所有的游戏对外服。文档 - 获取游戏对外服的数据与扩展 异步调用,回调编码风格,具备 traceId
- 参数:
request
- requestcallback
- 异步回调方法callbackExecutor
- 处理回调的 Executor
-
getBrokerClientContext
游戏逻辑服当前 FlowContext 所关联的游戏逻辑服 BrokerClient
- 返回:
- 游戏逻辑服
-
getBroadcastContext
广播通讯上下文文档
- 返回:
- BroadcastContext
-
getBroadcastOrderContext
广播通讯上下文 - 严格顺序的文档
- 返回:
- BroadcastOrderContext
-
getInvokeModuleContext
游戏逻辑服与游戏逻辑服之间的通讯上下文文档
- 返回:
- InvokeModuleContext
-
getInvokeExternalModuleContext
游戏逻辑服与游戏对外服的通讯上下文文档
- 返回:
- InvokeExternalModuleContext
-
supplyAsync
-
getExecutorRegion
-
getVirtualExecutor
玩家对应的虚拟线程执行器- 返回:
- 虚拟线程执行器
-
getVirtualThreadExecutor
玩家对应的虚拟线程执行器 ThreadExecutor- 返回:
- 虚拟线程执行器 ThreadExecutor
- 从以下版本开始:
- 21.17
-
getExecutor
玩家对应的用户线程执行器,该执行器也是消费 action 的执行器- 返回:
- 用户线程执行器
-
getThreadExecutor
玩家对应的用户线程执行器 ThreadExecutor,该执行器也是消费 action 的执行器- 返回:
- 用户线程执行器 ThreadExecutor
- 从以下版本开始:
- 21.17
-
execute
使用用户线程执行任务,该方法具备全链路调用日志跟踪- 参数:
command
- 任务
-
executeVirtual
使用虚拟线程执行任务,该方法具备全链路调用日志跟踪- 参数:
command
- 任务
-
getBarSkeleton
BarSkeleton getBarSkeleton()业务框架- 返回:
- 所关联的业务框架
-
getCmdInfo
当前请求的路由- 返回:
- 路由
-
getUserId
default long getUserId()userId- 返回:
- userId
-
createRequestMessage
Create a RequestMessage object and use some of the properties of the current FlowContext HeadMetadata. seeHeadMetadata.cloneHeadMetadata()
- 参数:
cmdInfo
- cmdInfo- 返回:
- request
-
createRequestMessage
创建一个 request 对象,并使用当前 FlowContext HeadMetadata 部分属性。HeadMetadata 对象以下属性不会赋值,如有需要,请自行赋值 sourceClientId endPointClientId rpcCommandType msgId
- 参数:
cmdInfo
- 路由data
- 业务参数- 返回:
- request
-
createResponseMessage
创建响应对象,通常用于广播响应对象中的 HeadMetadata 对象,会复用当前用户的一些信息;
- 参数:
cmdInfo
- 路由data
- 业务数据- 返回:
- 响应对象
-
setUserId
default boolean setUserId(long userId) After setting the userId, it means the login is successful- 参数:
userId
- userId- 返回:
- true:login success
- 从以下版本开始:
- 21.19
-
setUserIdAndGetResult
After setting the userId, it means the login is successful- 参数:
userId
- userId- 返回:
- result
- 从以下版本开始:
- 21.19
-
getEventBus
EventBus 是逻辑服事件总线。 EventBus、业务框架、逻辑服三者是 1:1:1 的关系。- 返回:
- EventBus
-
fire
[异步] 发送事件给所有订阅者1 给当前进程所有逻辑服的订阅者发送事件消息 2 给其他进程的订阅者发送事件消息
- 参数:
eventSource
- 事件源
-
fireSync
[同步] 发送事件给所有订阅者1 [同步] 给当前进程所有逻辑服的订阅者发送事件消息 2 [异步] 给其他进程的订阅者发送事件消息 注意,这里的同步仅指当前进程订阅者的同步,对其他进程中的订阅者无效(处理远程订阅者使用的是异步)。
- 参数:
eventSource
- 事件源
-
fireAny
[异步] 给当前进程的订阅者和远程进程的订阅者送事件消息,如果同类型逻辑服存在多个,只会给其中一个实例发送。1 给当前进程所有逻辑服的订阅者发送事件消息 2 给其他进程的订阅者发送事件消息
使用场景假设现在有一个发放奖励的邮件逻辑服,我们启动了两个(或者说多个)邮件逻辑服实例来处理业务。 当我们使用 fireAny 方法发送事件时,只会给其中一个实例发送事件。
- 参数:
eventSource
- 事件源
-
fireAnySync
[同步] 给当前进程的订阅者和远程进程的订阅者送事件消息,如果同类型逻辑服存在多个,只会给其中一个实例发送。这里的同类型指的是相同类型的逻辑服,也就是拥有相同 tag 的逻辑服。
1 [同步] 给当前进程所有逻辑服的订阅者发送事件消息 2 [异步] 给其他进程的订阅者发送事件消息 注意,这里的同步仅指当前进程订阅者的同步,对其他进程中的订阅者无效(处理远程订阅者使用的是异步)。
使用场景假设现在有一个发放奖励的邮件逻辑服,我们启动了两个(或者说多个)邮件逻辑服实例来处理业务。 当我们使用 fireAny 方法发送事件时,只会给其中一个实例发送事件。
- 参数:
eventSource
- 事件源
-
fireLocal
[异步] 给当前进程所有逻辑服的订阅者发送事件消息- 参数:
eventSource
- 事件源
-
fireLocalSync
[同步] 给当前进程所有逻辑服的订阅者发送事件消息- 参数:
eventSource
- 事件源
-
fireMe
[异步] 仅给当前 EventBus 的订阅者发送事件消息- 参数:
eventSource
- 事件源
-
fireMeSync
[同步] 仅给当前 EventBus 的订阅者发送事件消息- 参数:
eventSource
- 事件源
-
createEventBusMessage
创建事件消息- 参数:
eventSource
- 事件源- 返回:
- 事件消息
-
broadcastMe
给自己发送消息路由则使用当前 action 的路由。
- 参数:
bizData
- 业务数据- 另请参阅:
-
broadcastMe
给自己发送消息- 参数:
cmdInfo
- 发送到此路由bizData
- 业务数据
-
broadcastMe
给自己发送消息- 参数:
responseMessage
- 消息
-
broadcast
全服广播- 参数:
cmdInfo
- 广播到此路由bizData
- 业务数据
-
broadcast
全服广播- 参数:
responseMessage
- 消息
-
broadcast
广播消息给单个用户- 参数:
cmdInfo
- 广播到此路由bizData
- 业务数据userId
- userId
-
broadcast
广播消息给单个用户- 参数:
responseMessage
- 消息userId
- userId
-
broadcast
广播消息给指定用户列表- 参数:
cmdInfo
- 广播到此路由bizData
- 业务数据userIdList
- 指定用户列表
-
broadcast
广播消息给指定用户列表- 参数:
responseMessage
- 消息userIdList
- 指定用户列表 (如果为 null 或 empty 就不会触发)
-
broadcastOrderMe
顺序 - 给自己发送消息路由则使用当前 action 的路由。
- 参数:
bizData
- 业务数据- 另请参阅:
-
broadcastOrderMe
顺序 - 给自己发送消息- 参数:
cmdInfo
- 发送到此路由bizData
- 业务数据
-
broadcastOrderMe
顺序 - 给自己发送消息- 参数:
responseMessage
- 消息
-
broadcastOrder
顺序 - 全服广播- 参数:
cmdInfo
- 广播到此路由bizData
- 业务数据
-
broadcastOrder
顺序 - 全服广播- 参数:
responseMessage
- 消息
-
broadcastOrder
顺序 - 广播消息给指定用户列表- 参数:
cmdInfo
- 广播到此路由bizData
- 业务数据userIdList
- 指定用户列表
-
broadcastOrder
顺序 - 广播消息给指定用户列表- 参数:
responseMessage
- 消息userIdList
- 指定用户列表 (如果为 null 或 empty 就不会触发)
-
broadcastOrder
顺序 - 广播消息给单个用户- 参数:
cmdInfo
- 广播到此路由bizData
- 业务数据userId
- userId
-
broadcastOrder
顺序 - 广播消息给单个用户- 参数:
responseMessage
- 消息userId
- userId
-
invokeModuleMessage
根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 同步调用
- 参数:
cmdInfo
- 路由- 返回:
- ResponseMessage
-
invokeModuleMessage
根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 同步调用
- 参数:
cmdInfo
- cmdInfodata
- 请求参数- 返回:
- ResponseMessage
-
invokeModuleMessage
根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 同步调用
- 参数:
requestMessage
- requestMessage- 返回:
- ResponseMessage
-
invokeModuleMessageFuture
根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 异步调用
- 参数:
cmdInfo
- 路由- 返回:
- CompletableFuture ResponseMessage
-
invokeModuleMessageFuture
根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 异步调用
- 参数:
cmdInfo
- 路由data
- 业务数据- 返回:
- CompletableFuture ResponseMessage
-
invokeModuleMessageFuture
根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 异步调用
- 参数:
requestMessage
- requestMessage- 返回:
- CompletableFuture ResponseMessage
-
invokeModuleMessageAsync
根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 异步调用,回调编码风格,具备 traceId
- 参数:
cmdInfo
- 路由callback
- 异步回调方法
-
invokeModuleMessageAsync
default void invokeModuleMessageAsync(CmdInfo cmdInfo, Object data, Consumer<ResponseMessage> callback) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 异步调用,回调编码风格,具备 traceId
- 参数:
cmdInfo
- 路由data
- 业务数据callback
- 异步回调方法
-
invokeModuleMessageAsync
default void invokeModuleMessageAsync(RequestMessage requestMessage, Consumer<ResponseMessage> callback) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 异步调用,回调编码风格,具备 traceId
- 参数:
requestMessage
- requestMessagecallback
- 异步回调方法
-
invokeModuleMessageAsync
default void invokeModuleMessageAsync(RequestMessage requestMessage, Consumer<ResponseMessage> callback, Executor callbackExecutor) 根据路由信息来请求其他子服务器(其他游戏逻辑服)的数据文档 - 游戏逻辑服之间的交互 异步调用,回调编码风格,具备 traceId
- 参数:
requestMessage
- requestMessagecallback
- 异步回调方法callbackExecutor
- 处理回调的 Executor
-
invokeModuleVoidMessage
根据路由信息来请求其他子服务器(其他逻辑服)的方法,并且不需要返回值异步无阻塞的方法,因为没有返回值; 文档 - 游戏逻辑服与单个游戏逻辑服通信请求 - 无返回值(可跨进程) 文档 - 单个逻辑服与单个逻辑服通信请求 - 无返回值(可跨进程)
example// 内部模块通讯上下文,内部模块指的是游戏逻辑服 InvokeModuleContext invokeModuleContext = ... // 请求房间逻辑服来创建房间,并且不需要返回值 // 路由、业务参数 invokeModuleContext.invokeModuleVoidMessage(cmdInfo);
- 参数:
cmdInfo
- 路由
-
invokeModuleVoidMessage
根据路由信息来请求其他子服务器(其他逻辑服)的方法,并且不需要返回值异步无阻塞的方法,因为没有返回值; 文档 - 游戏逻辑服与单个游戏逻辑服通信请求 - 无返回值(可跨进程) 文档 - 单个逻辑服与单个逻辑服通信请求 - 无返回值(可跨进程)
example// 内部模块通讯上下文,内部模块指的是游戏逻辑服 InvokeModuleContext invokeModuleContext = ... // 请求房间逻辑服来创建房间,并且不需要返回值 // 路由、业务参数 invokeModuleContext.invokeModuleVoidMessage(cmdInfo, data);
- 参数:
cmdInfo
- 路由data
- 业务数据
-
invokeModuleVoidMessage
根据路由信息来请求其他子服务器(其他逻辑服)的方法,并且不需要返回值异步无阻塞的方法,因为没有返回值; 文档 - 游戏逻辑服与单个游戏逻辑服通信请求 - 无返回值(可跨进程) 文档 - 单个逻辑服与单个逻辑服通信请求 - 无返回值(可跨进程)
example// 内部模块通讯上下文,内部模块指的是游戏逻辑服 InvokeModuleContext invokeModuleContext = ... // 请求房间逻辑服来创建房间,并且不需要返回值 // 路由、业务参数 invokeModuleContext.invokeModuleVoidMessage(requestMessage);
- 参数:
requestMessage
- requestMessage
-
invokeModuleCollectMessage
模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 同步调用
- 参数:
cmdInfo
- 路由- 返回:
- ResponseCollectMessage
-
invokeModuleCollectMessage
模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 同步调用
- 参数:
cmdInfo
- 路由信息data
- 业务数据- 返回:
- ResponseCollectMessage
-
invokeModuleCollectMessage
模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 同步调用
- 参数:
requestMessage
- requestMessage- 返回:
- ResponseCollectMessage
-
invokeModuleCollectMessageFuture
模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 异步调用
- 参数:
cmdInfo
- 路由- 返回:
- CompletableFuture ResponseCollectMessage
-
invokeModuleCollectMessageFuture
default CompletableFuture<ResponseCollectMessage> invokeModuleCollectMessageFuture(CmdInfo cmdInfo, Object data) 模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 异步调用
- 参数:
cmdInfo
- 路由data
- 业务数据- 返回:
- CompletableFuture ResponseCollectMessage
-
invokeModuleCollectMessageFuture
default CompletableFuture<ResponseCollectMessage> invokeModuleCollectMessageFuture(RequestMessage requestMessage) 模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 异步调用
- 参数:
requestMessage
- requestMessage- 返回:
- CompletableFuture ResponseCollectMessage
-
invokeModuleCollectMessageAsync
default void invokeModuleCollectMessageAsync(CmdInfo cmdInfo, Consumer<ResponseCollectMessage> callback) 模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 异步调用,回调编码风格,具备 traceId
- 参数:
cmdInfo
- 路由callback
- 异步回调方法
-
invokeModuleCollectMessageAsync
default void invokeModuleCollectMessageAsync(CmdInfo cmdInfo, Object data, Consumer<ResponseCollectMessage> callback) 模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 异步调用,回调编码风格,具备 traceId
- 参数:
cmdInfo
- 路由data
- 业务数据callback
- 异步回调方法
-
invokeModuleCollectMessageAsync
default void invokeModuleCollectMessageAsync(RequestMessage requestMessage, Consumer<ResponseCollectMessage> callback) 模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 异步调用,回调编码风格,具备 traceId
- 参数:
requestMessage
- requestMessagecallback
- 异步回调方法
-
invokeModuleCollectMessageAsync
default void invokeModuleCollectMessageAsync(RequestMessage requestMessage, Consumer<ResponseCollectMessage> callback, Executor callbackExecutor) 模块之间的访问,访问【同类型】的多个逻辑服模块A 访问 模块B 的某个方法,因为只有模块B持有这些数据,这里的模块指的是游戏逻辑服。 假设启动了多个模块B,分别是:模块B-1、模块B-2、模块B-3、模块B-4 等。 框架支持访问【同类型】的多个逻辑服,并把多个相同逻辑服结果收集到一起。 文档 - 请求同类型多个逻辑服通信结果 异步调用,回调编码风格,具备 traceId
- 参数:
requestMessage
- requestMessagecallback
- 异步回调方法callbackExecutor
- 处理回调的 Executor
-