weixin4j-server:优化代码&添加注释

This commit is contained in:
jinyu 2015-05-19 08:30:20 +08:00
parent 5a7b729873
commit f6793fbf51
9 changed files with 20 additions and 16 deletions

View File

@ -107,7 +107,7 @@ assembly打包(辅助)
<descriptors> <descriptors>
<descriptor>src/main/assembly.xml</descriptor> <descriptor>src/main/assembly.xml</descriptor>
</descriptors> </descriptors>
<finalName>weixin-server</finalName> <finalName>weixin4j-server</finalName>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>

View File

@ -2,11 +2,11 @@
<project name="weixin-server" default="deploy" basedir="."> <project name="weixin-server" default="deploy" basedir=".">
<property name="app.home" value="." /> <property name="app.home" value="." />
<property name="target.home" value="${app.home}/target" /> <property name="target.home" value="${app.home}/target" />
<property name="zip.name" value="assembly打包后的文件名,如weixin-server-bin.zip" /> <property name="zip.name" value="assembly打包后的文件名,如weixin4j-server-bin.zip" />
<property name="host" value="服务器IP" /> <property name="host" value="服务器IP" />
<property name="pwd" value="服务器口令" /> <property name="pwd" value="服务器口令" />
<property name="main.dir" value="服务部署的主目录,如/usr/local/weixin" /> <property name="main.dir" value="服务部署的主目录,如/usr/local/weixin" />
<property name="sub.dir" value="服务部署的子目录,如weixin-server" /> <property name="sub.dir" value="服务部署的子目录,如weixin4j-server" />
<target name="removeZip"> <target name="removeZip">
<echo> <echo>

View File

@ -127,6 +127,8 @@ public class WeixinMessageDispatcher {
if (targetClass != null) { if (targetClass != null) {
message = messageRead(request.getOriginalContent(), targetClass); message = messageRead(request.getOriginalContent(), targetClass);
} }
logger.info("define [{}] messageKey matched [{}] unmarshal to {}",
messageKey, targetClass, message);
MessageHandlerExecutor handlerExecutor = getHandlerExecutor(context, MessageHandlerExecutor handlerExecutor = getHandlerExecutor(context,
request, messageKey, message); request, messageKey, message);
if (handlerExecutor == null if (handlerExecutor == null
@ -141,9 +143,6 @@ public class WeixinMessageDispatcher {
try { try {
WeixinResponse response = handlerExecutor.getMessageHandler() WeixinResponse response = handlerExecutor.getMessageHandler()
.doHandle(request, message); .doHandle(request, message);
logger.info(
"\n=================message response=================\n{}",
response);
handlerExecutor.applyPostHandle(request, response, message); handlerExecutor.applyPostHandle(request, response, message);
context.write(response); context.write(response);
} catch (WeixinException e) { } catch (WeixinException e) {

View File

@ -1,6 +1,7 @@
package com.foxinmy.weixin4j.messagekey; package com.foxinmy.weixin4j.messagekey;
import com.foxinmy.weixin4j.type.AccountType; import com.foxinmy.weixin4j.type.AccountType;
import com.foxinmy.weixin4j.type.MessageType;
import com.foxinmy.weixin4j.util.StringUtil; import com.foxinmy.weixin4j.util.StringUtil;
/** /**
@ -22,6 +23,9 @@ public class DefaultMessageKeyDefiner implements WeixinMessageKeyDefiner {
StringBuilder messageKey = new StringBuilder(); StringBuilder messageKey = new StringBuilder();
if (!StringUtil.isBlank(messageType)) { if (!StringUtil.isBlank(messageType)) {
messageKey.append(messageType.toLowerCase()); messageKey.append(messageType.toLowerCase());
if (!messageType.trim().equalsIgnoreCase(MessageType.event.name())) {
return messageKey.toString();
}
} }
if (accountType != null) { if (accountType != null) {
messageKey.insert(0, String.format("%s%s", accountType.name() messageKey.insert(0, String.format("%s%s", accountType.name()

View File

@ -47,10 +47,8 @@ public class WeixinMessageDecoder extends
String content = req.content().toString(Consts.UTF_8); String content = req.content().toString(Consts.UTF_8);
QueryStringDecoder queryDecoder = new QueryStringDecoder(req.getUri(), QueryStringDecoder queryDecoder = new QueryStringDecoder(req.getUri(),
true); true);
logger.info("\n=================receive request================="); logger.info("decode request:{} use {} method invoking", req.getUri(),
logger.info("{}", req.getMethod()); req.getMethod().name());
logger.info("{}", req.getUri());
logger.info("{}", content);
Map<String, List<String>> parameters = queryDecoder.parameters(); Map<String, List<String>> parameters = queryDecoder.parameters();
EncryptType encryptType = parameters.containsKey("encrypt_type") ? EncryptType EncryptType encryptType = parameters.containsKey("encrypt_type") ? EncryptType
.valueOf(parameters.get("encrypt_type").get(0).toUpperCase()) .valueOf(parameters.get("encrypt_type").get(0).toUpperCase())

View File

@ -56,8 +56,6 @@ public class WeixinRequestHandler extends
@Override @Override
protected void channelRead0(ChannelHandlerContext ctx, WeixinRequest request) protected void channelRead0(ChannelHandlerContext ctx, WeixinRequest request)
throws WeixinException { throws WeixinException {
logger.info("\n=================message request=================\n{}",
request);
if (request.getMethod().equals(HttpMethod.GET.name())) { if (request.getMethod().equals(HttpMethod.GET.name())) {
if (MessageUtil.signature(aesToken.getToken(), if (MessageUtil.signature(aesToken.getToken(),
request.getTimeStamp(), request.getNonce()).equals( request.getTimeStamp(), request.getNonce()).equals(

View File

@ -94,7 +94,6 @@ public class WeixinResponseEncoder extends
} }
ctx.writeAndFlush(HttpUtil.createHttpResponse(content.toString(), OK, ctx.writeAndFlush(HttpUtil.createHttpResponse(content.toString(), OK,
Consts.CONTENTTYPE$APPLICATION_XML)); Consts.CONTENTTYPE$APPLICATION_XML));
logger.info("\n=================response message================="); logger.info("{} encode response:{}", encryptType, content);
logger.info("{}", content);
} }
} }

View File

@ -7,6 +7,8 @@ import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.logging.LoggingHandler; import io.netty.handler.logging.LoggingHandler;
import io.netty.util.internal.logging.InternalLogger;
import io.netty.util.internal.logging.InternalLoggerFactory;
import java.util.Arrays; import java.util.Arrays;
import java.util.LinkedList; import java.util.LinkedList;
@ -36,6 +38,9 @@ import com.foxinmy.weixin4j.util.AesToken;
*/ */
public final class WeixinServerBootstrap { public final class WeixinServerBootstrap {
private final InternalLogger logger = InternalLoggerFactory
.getInstance(getClass());
/** /**
* 默认boss线程数,一般设置为cpu的核数 * 默认boss线程数,一般设置为cpu的核数
*/ */
@ -141,6 +146,7 @@ public final class WeixinServerBootstrap {
messageDispatcher)); messageDispatcher));
Channel ch = b.bind(serverPort).sync().channel(); Channel ch = b.bind(serverPort).sync().channel();
System.err.println("weixin4j server startup OK:" + serverPort); System.err.println("weixin4j server startup OK:" + serverPort);
logger.info("weixin4j server startup OK:{}", serverPort);
ch.closeFuture().sync(); ch.closeFuture().sync();
} catch (WeixinException e) { } catch (WeixinException e) {
throw e; throw e;

View File

@ -6,10 +6,10 @@ JAVA_HOME="/usr/local/java/"
RUNNING_USER=root RUNNING_USER=root
#Run home #Run home
APP_HOME="/usr/local/weixin/weixin-server" APP_HOME="/usr/local/weixin/weixin4j-server"
#main class #main class
APP_MAINCLASS=netty服务启动类 APP_MAINCLASS=微信服务启动类
#classpath #classpath
CLASSPATH=$APP_HOME/classes CLASSPATH=$APP_HOME/classes