所有已知子接口:
EventBusRunner, PulseRunner
所有已知实现类:
AbstractEventBusRunner, CreatePulsesRunner

public interface Runner
Runner 机制,会在逻辑服与 Broker(游戏网关)建立连接之前(onStart)、之后(onStartAfter)分别触发一次。相关文档
     1.在逻辑服与 Broker(游戏网关)建立连接之前调用一次,触发 onStart(BarSkeleton) 方法。
     2.在逻辑服将信息注册到 Broker(游戏网关)后调用一次,触发 onStartAfter(BarSkeleton) 方法。
 
for example

 // 路由访问权限以 Runner 机制扩展
 public class ExternalAccessAuthenticationRunner implements Runner {
     @Override
     public void onStart(BarSkeleton skeleton) {

         var accessAuthenticationHook = ExternalGlobalConfig.accessAuthenticationHook;
         // 表示登录才能访问业务方法
         accessAuthenticationHook.setVerifyIdentity(true);
         // 添加不需要登录(身份验证)也能访问的业务方法 (action)
         accessAuthenticationHook.addIgnoreAuthenticationCmd(1, 1);
         // 添加不需要登录(身份验证)也能访问的主路由(范围)
         accessAuthenticationHook.addIgnoreAuthenticationCmd(2);

         // 拒绝主路由为 10 的访问请求
         accessAuthenticationHook.addRejectionCmd(10);
         // 拒绝主路由为 11、子路由为 1 的访问请求
         accessAuthenticationHook.addRejectionCmd(11, 1);
     }
 }

 // 游戏对外服
 public class MyExternalServer extends ExternalBrokerClientStartup {
     @Override
     public BarSkeleton createBarSkeleton() {
         // 游戏对外服不需要业务框架,这里给个空的
         BarSkeletonBuilder builder = BarSkeleton.newBuilder();

         // 路由访问权限以 Runner 机制扩展
         builder.addRunner(new ExternalAccessAuthenticationRunner());

         return builder.build();
     }
 }
 
 
for example

 BarSkeletonBuilder builder = ...

 builder.addRunner(new Runner() {
   @Override
   public void onStart(BarSkeleton skeleton) {
       log.info("在逻辑服与 Broker(游戏网关)建立连接之前调用一次");
   }

   @Override
   public void onStartAfter(BarSkeleton skeleton) {
       log.info("在逻辑服与 Broker(游戏网关)建立连接之后调用一次");
   }
 });

 
 
作者:
渔民小镇
日期:
2023-04-23
  • 方法概要

    修饰符和类型
    方法
    说明
    default String
    runner name
    void
    onStart(BarSkeleton skeleton)
    在逻辑服与 Broker(游戏网关)建立连接之前调用一次。
    default void
    在逻辑服与 Broker(游戏网关)建立连接之后调用一次。
  • 方法详细资料

    • onStart

      void onStart(BarSkeleton skeleton)
      在逻辑服与 Broker(游戏网关)建立连接之前调用一次。
           此时还不能与 Broker(游戏网关)通信。
       
      参数:
      skeleton - 业务框架
    • onStartAfter

      default void onStartAfter(BarSkeleton skeleton)
      在逻辑服与 Broker(游戏网关)建立连接之后调用一次。
           可以与 Broker(游戏网关)通信了。
           如果没有特殊需求的,使用 onStart 方法就可以了。
       
      参数:
      skeleton - 业务框架
    • name

      default String name()
      runner name
      返回:
      name