weixin4j-server:优化代码&添加注释
This commit is contained in:
parent
5a7b729873
commit
f6793fbf51
@ -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>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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())
|
||||||
|
|||||||
@ -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(
|
||||||
|
|||||||
@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -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;
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user