Package com.foxinmy.weixin4j.startup
Class WeixinServerBootstrap
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description static int
DEFAULT_BOSSTHREADS
boss线程数,默认设置为cpu的核数static int
DEFAULT_SERVERPORT
服务启动的默认端口static int
DEFAULT_WORKERTHREADS
worker线程数,默认设置为DEFAULT_BOSSTHREADS * 2static String
VERSION
-
Constructor Summary
Constructors Constructor Description WeixinServerBootstrap(WeixinMessageMatcher messageMatcher, AesToken... aesTokens)
多个公众号的支持 值得注意的是: 1).企业号服务时需要在服务器URL后面加多一个`encrypt_type=aes`的参数 2).非明文模式下需要在服务器URL后面加多一个`weixin_id=对应的appid/corpid`的参数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`的参数
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addAesToken(AesToken aesToken)
动态添加aesTokenWeixinServerBootstrap
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)
接受参数启动服务
-
-
-
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) 密文&\u517c\u5bb9\u6a21\u5f0f\u4e0b\u9700\u8981\u586b\u5199token
- 开发者填写的token 无论哪种模式都需要填写aesKey
- 消息加密的密钥 密文&\u517c\u5bb9\u6a21\u5f0f\u4e0b\u9700\u8981\u586b\u5199
-
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
- 消息keymessageClass
- 消息类- Returns:
-
openAlwaysResponse
public WeixinServerBootstrap openAlwaysResponse()
打开总是响应开关,如未匹配到MessageHandler时回复空白消息
-
addAesToken
public boolean addAesToken(AesToken aesToken)
动态添加aesToken- Parameters:
aesToken
-- Returns:
-
-