package com.foxinmy.weixin4j.example.server;
import com.foxinmy.weixin4j.exception.WeixinException;
import com.foxinmy.weixin4j.handler.DebugMessageHandler;
import com.foxinmy.weixin4j.startup.WeixinServerBootstrap;
import com.foxinmy.weixin4j.util.AesToken;
/**
* 微信消息服务:单独作为一个服务jar包启动,推荐这种方式去处理微信消息,可在本项目的根目录运行 `mvn package`得到一个可执行的zip包。
*
* @className Weixin4jServerStartup
* @author jinyu(foxinmy@gmail.com)
* @date 2015年5月7日
* @since JDK 1.6
*/
public final class Weixin4jServerStartup {
/**
* 服务监听的端口号,目前微信只支持80端口,可以考虑用nginx做转发到此端口
*/
private static int port = 30000;
/**
* 服务器token信息
*/
/**
* 明文模式:String aesToken = ""; 密文模式:AesToken aesToken = new
* AesToken("公众号appid", "公众号token","公众号加密/解密消息的密钥");
*/
private static String aesToken = "weixin4j";
/**
* 处理微信消息的全限包名(也可通过addHandler方式一个一个添加)
*/
private static String handlerPackage = "com.foxinmy.weixin4j.example.server.handler";
/**
* 入口函数 可使用assembly插件打成可执行zip包:https://github.com/foxinmy/weixin4j/wiki/
* assembly%E6%89%93%E5%8C%85
*
* @param args
* @throws WeixinException
*/
public static void main(String[] args) throws WeixinException {
new WeixinServerBootstrap(new AesToken("wxa652fc930afe9b22", "weixin4j", "iFv2hlZm56rkwv5oC45UoIfvPJVHp2ngocBMbt5FP9C")) // 指定开发者token信息。
.handlerPackagesToScan(handlerPackage) // 扫描处理消息的包。
.addHandler(DebugMessageHandler.global) // 当没有匹配到消息处理时输出调试信息,开发环境打开。
.openAlwaysResponse() // 当没有匹配到消息处理时输出空白回复(公众号不会出现「该公众号无法提供服务的提示」),正式环境打开。
.startup(port); // 绑定服务的端口号,即对外暴露(微信服务器URL地址)的服务端口。
}
}