com.foxinmy.weixin4j.startup
Class WeixinServerBootstrap

java.lang.Object
  extended by com.foxinmy.weixin4j.startup.WeixinServerBootstrap

public final class WeixinServerBootstrap
extends Object

微信netty服务启动程序

Since:
JDK 1.6
Author:
jinyu(foxinmy@gmail.com)
See Also:
WeixinMessageMatcher, WeixinMessageHandler, WeixinMessageInterceptor, WeixinMessageDispatcher, BeanFactory

Field Summary
static int DEFAULT_BOSSTHREADS
          boss线程数,默认设置为cpu的核数
static int DEFAULT_SERVERPORT
          服务启动的默认端口
static int DEFAULT_WORKERTHREADS
          worker线程数,默认设置为DEFAULT_BOSSTHREADS * 2
static String VERSION
           
 
Constructor Summary
WeixinServerBootstrap(AesToken... aesToken)
          多个公众号的支持 值得注意的是: 1).企业号服务时需要在服务器URL后面加多一个`encrypt_type=aes`的参数 2).非明文模式下需要在服务器URL后面加多一个`weixin_id=对应的appid/corpid`的参数
WeixinServerBootstrap(String token)
          明文模式
WeixinServerBootstrap(String weixinId, String token, String aesKey)
          明文模式 & 兼容模式 & 密文模式 值得注意的是:企业号服务时需要在服务器URL后面加多一个`encrypt_type=aes`的参数
WeixinServerBootstrap(WeixinMessageMatcher messageMatcher, AesToken... aesTokens)
          多个公众号的支持 值得注意的是: 1).企业号服务时需要在服务器URL后面加多一个`encrypt_type=aes`的参数 2).非明文模式下需要在服务器URL后面加多一个`weixin_id=对应的appid/corpid`的参数
 
Method Summary
 boolean addAesToken(AesToken aesToken)
          动态添加aesToken
 WeixinServerBootstrap addHandler(WeixinMessageHandler... messageHandler)
          添加一个或者多个消息处理器
 WeixinServerBootstrap addInterceptor(WeixinMessageInterceptor... messageInterceptor)
          插入一个或多个消息拦截器
 WeixinServerBootstrap handlerPackagesToScan(String... messageHandlerPackages)
          按照包名去添加消息处理器
 WeixinServerBootstrap interceptorPackagesToScan(String... messageInterceptorPackages)
          按照包名去添加消息拦截器
 WeixinServerBootstrap openAlwaysResponse()
          打开总是响应开关,如未匹配到MessageHandler时回复空白消息
 WeixinServerBootstrap registMessageClass(WeixinMessageKey messageKey, Class<? extends WeixinMessage> messageClass)
          注册消息类型
 WeixinServerBootstrap resolveBeanFactory(BeanFactory beanFactory)
          声明处理器跟拦截器类实例化的构造工厂,否则通过Class.newInstance的方式构造
 boolean shutdown(boolean blocking)
          关闭微信服务
 void startup()
          默认端口(30000)启动服务
 void startup(int serverPort)
          指定端口启动服务
 void startup(int bossThreads, int workerThreads, int serverPort)
          接受参数启动服务
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_BOSSTHREADS

public static final int DEFAULT_BOSSTHREADS
boss线程数,默认设置为cpu的核数


DEFAULT_WORKERTHREADS

public static final int DEFAULT_WORKERTHREADS
worker线程数,默认设置为DEFAULT_BOSSTHREADS * 2


DEFAULT_SERVERPORT

public static final int DEFAULT_SERVERPORT
服务启动的默认端口

See Also:
Constant Field Values

VERSION

public static final String VERSION
See Also:
Constant Field Values
Constructor Detail

WeixinServerBootstrap

public WeixinServerBootstrap(String token)
明文模式

Parameters:
token - 开发者token

WeixinServerBootstrap

public WeixinServerBootstrap(String weixinId,
                             String token,
                             String aesKey)
明文模式 & 兼容模式 & 密文模式
值得注意的是:企业号服务时需要在服务器URL后面加多一个`encrypt_type=aes`的参数

Parameters:
weixinId - 公众号的应用ID(appid/corpid) 密文&兼容模式下需要填写
token - 开发者填写的token 无论哪种模式都需要填写
aesKey - 消息加密的密钥 密文&兼容模式下需要填写

WeixinServerBootstrap

public WeixinServerBootstrap(AesToken... aesToken)
多个公众号的支持
值得注意的是:
1).企业号服务时需要在服务器URL后面加多一个`encrypt_type=aes`的参数
2).非明文模式下需要在服务器URL后面加多一个`weixin_id=对应的appid/corpid`的参数

Parameters:
aesTokens - 多个公众号

WeixinServerBootstrap

public WeixinServerBootstrap(WeixinMessageMatcher messageMatcher,
                             AesToken... aesTokens)
多个公众号的支持
值得注意的是:
1).企业号服务时需要在服务器URL后面加多一个`encrypt_type=aes`的参数
2).非明文模式下需要在服务器URL后面加多一个`weixin_id=对应的appid/corpid`的参数

Parameters:
messageMatcher - 消息匹配器
aesTokens - 公众号信息
Method Detail

startup

public void startup()
默认端口(30000)启动服务


startup

public void startup(int serverPort)
指定端口启动服务


startup

public void startup(int bossThreads,
                    int workerThreads,
                    int serverPort)
接受参数启动服务

Parameters:
bossThreads - boss线程数
workerThreads - worker线程数
serverPort - 服务启动端口
Throws:
WeixinException

shutdown

public boolean shutdown(boolean blocking)
关闭微信服务

Parameters:
blocking - 阻塞关闭
Returns:

addHandler

public WeixinServerBootstrap addHandler(WeixinMessageHandler... messageHandler)
添加一个或者多个消息处理器

Parameters:
messageHandler - 消息处理器
Returns:

addInterceptor

public WeixinServerBootstrap addInterceptor(WeixinMessageInterceptor... messageInterceptor)
插入一个或多个消息拦截器

Parameters:
messageInterceptor - 消息拦截器
Returns:

handlerPackagesToScan

public WeixinServerBootstrap handlerPackagesToScan(String... messageHandlerPackages)
按照包名去添加消息处理器

Parameters:
messageHandlerPackages - 消息处理器所在的包名
Returns:

interceptorPackagesToScan

public WeixinServerBootstrap interceptorPackagesToScan(String... messageInterceptorPackages)
按照包名去添加消息拦截器

Parameters:
messageInterceptorPackages - 消息拦截器所在的包名
Returns:

resolveBeanFactory

public WeixinServerBootstrap resolveBeanFactory(BeanFactory beanFactory)
声明处理器跟拦截器类实例化的构造工厂,否则通过Class.newInstance的方式构造

Parameters:
beanFactory - Bean构造工厂
Returns:

registMessageClass

public WeixinServerBootstrap registMessageClass(WeixinMessageKey messageKey,
                                                Class<? extends WeixinMessage> messageClass)
注册消息类型

Parameters:
messageKey - 消息key
messageClass - 消息类
Returns:

openAlwaysResponse

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


addAesToken

public boolean addAesToken(AesToken aesToken)
动态添加aesToken

Parameters:
aesToken -
Returns:


Copyright © 2014–2017. All rights reserved.