Class WeixinMessageDispatcher

    • Constructor Detail

      • WeixinMessageDispatcher

        public WeixinMessageDispatcher()
    • Method Detail

      • doDispatch

        public void doDispatch​(io.netty.channel.ChannelHandlerContext context,
                               WeixinRequest request)
        对消息进行一系列的处理,包括 拦截、匹配、分发等动作
        Parameters:
        context - 上下文环境
        request - 微信请求
        messageTransfer - 微信消息 @
      • noHandlerFound

        protected void noHandlerFound​(io.netty.channel.ChannelHandlerContext context,
                                      WeixinRequest request,
                                      WeixinMessage message)
        未匹配到handler时触发
        Parameters:
        context - 上下文环境
        request - 微信请求
        message - 微信消息
      • getHandlerExecutor

        protected MessageHandlerExecutor getHandlerExecutor​(io.netty.channel.ChannelHandlerContext context,
                                                            WeixinRequest request,
                                                            WeixinMessageKey messageKey,
                                                            WeixinMessage message,
                                                            Set<String> nodeNames)
        MessageHandlerExecutor
        Parameters:
        context - 上下文环境
        request - 微信请求
        messageKey - 消息的key
        message - 微信消息
        nodeNames - 节点名称集合
        Returns:
        MessageHandlerExecutor
        See Also:
        @
      • getMessageHandlers

        public WeixinMessageHandler[] getMessageHandlers()
        获取所有的handler
        Returns:
        handler集合
        See Also:
        @
      • messageRead

        protected <M extends WeixinMessage> M messageRead​(String message,
                                                          Class<M> clazz)
        jaxb读取微信消息
        Parameters:
        message - xml消息
        clazz - 消息类型
        Returns:
        消息对象 @
      • getUnmarshaller

        protected javax.xml.bind.Unmarshaller getUnmarshaller​(Class<? extends WeixinMessage> clazz)
        xml消息转换器
        Parameters:
        clazz - 消息类型
        Returns:
        消息转换器 @
      • getMessageHandlerPackages

        public String[] getMessageHandlerPackages()
      • getMessageInterceptorPackages

        public String[] getMessageInterceptorPackages()
      • setMessageHandlerPackages

        public void setMessageHandlerPackages​(String... messageHandlerPackages)
      • setMessageInterceptorPackages

        public void setMessageInterceptorPackages​(String... messageInterceptorPackages)
      • setBeanFactory

        public void setBeanFactory​(BeanFactory beanFactory)
      • openAlwaysResponse

        public void openAlwaysResponse()
        打开总是响应开关,如未匹配到MessageHandler时回复空白消息