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