code: public static void register(Class<?> clazz) {
      for (Method m : clazz.getDeclaredMethods()) {
        EngineFunction func = m.getAnnotation(EngineFunction.class);
        if (func != null) {
          EngineHandlerInfo info = EngineHandlerInfo.getEngineHandlerInfo(m, func);
          if (info != null) {
  
            funcs.put(info.getEndPoint(), info);
          }
          continue;
        }
        EngineHook hook = m.getAnnotation(EngineHook.class);
        if (hook != null) {
          EngineHandlerInfo info = EngineHandlerInfo.getEngineHandlerInfo(m, hook);
          if (info != null) {
            funcs.put(info.getEndPoint(), info);
          }
        }
  
        IMHook imHook = m.getAnnotation(IMHook.class);
        if (imHook != null) {
          EngineHandlerInfo info = EngineHandlerInfo.getEngineHandlerInfo(m, imHook);
          if (info != null) {
            funcs.put(info.getEndPoint(), info);
          }
        }
      }
    }
docs: 请在ServletContextListener.contextInitialized中注册所有的云函数定义类
  
  @param clazz 需要注册的云函数定义类