主要删除多个回复相关类

This commit is contained in:
jinyu 2016-05-07 11:15:34 +08:00
parent bda860bb6c
commit 4ecf2c4764
7 changed files with 6 additions and 123 deletions

View File

@ -38,11 +38,8 @@ public class Weixin4jServerStartupWithoutThread {
* @throws WeixinException * @throws WeixinException
*/ */
public static void main(String[] args) throws WeixinException { public static void main(String[] args) throws WeixinException {
//ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
// new String[] { "classpath:/spring-bean.xml" });
new WeixinServerBootstrap(aesToken) new WeixinServerBootstrap(aesToken)
.handlerPackagesToScan(handlerPackage).openAlwaysResponse() .handlerPackagesToScan(handlerPackage).openAlwaysResponse()
//.resolveBeanFactory(new SpringBeanFactory(applicationContext))
.startup(port); .startup(port);
} }
} }

View File

@ -20,9 +20,13 @@ import com.foxinmy.weixin4j.response.WeixinResponse;
*/ */
@Component @Component
public class HelloMessageHandler extends MessageHandlerAdapter<TextMessage> { public class HelloMessageHandler extends MessageHandlerAdapter<TextMessage> {
@Override @Override
public boolean canHandle0(WeixinRequest request, TextMessage message) public boolean canHandle0(WeixinRequest request, TextMessage message)
throws WeixinException { throws WeixinException {
/**
* 用户输入hello时
*/
return message.getContent().equalsIgnoreCase("hello"); return message.getContent().equalsIgnoreCase("hello");
} }

View File

@ -141,4 +141,4 @@
+ 修改ClassUtil获取class不到的bug + 修改ClassUtil获取class不到的bug
+ 新增MultipleMessageHandlerAdapter多个消息适配类 + ~~新增MultipleMessageHandlerAdapter多个消息适配类~~

View File

@ -143,7 +143,7 @@ public class WeixinMessageDispatcher {
response = handlerExecutor.getMessageHandler().doHandle(request, response = handlerExecutor.getMessageHandler().doHandle(request,
message, messageTransfer.getNodeNames()); message, messageTransfer.getNodeNames());
handlerExecutor.applyPostHandle(request, response, message); handlerExecutor.applyPostHandle(request, response, message);
context.write(response); context.writeAndFlush(response);
} catch (Exception e) { } catch (Exception e) {
exception = e; exception = e;
} }

View File

@ -1,85 +0,0 @@
package com.foxinmy.weixin4j.response;
import java.util.Arrays;
import java.util.List;
/**
* 多个消息回复
*
* @className MultipleResponse
* @author jy
* @date 2016年4月27日
* @since JDK 1.6
* @see
*/
public class MultipleResponse implements WeixinResponse {
private List<WeixinResponse> responses;
public MultipleResponse(WeixinResponse... responses) {
if (responses == null) {
throw new IllegalArgumentException("responses not be empty");
}
this.responses = Arrays.asList(responses);
}
@Override
public String getMsgType() {
return "multiple";
}
/**
* 插入首条回复
*
* @param response
*/
public void addFirstResponse(WeixinResponse response) {
responses.add(0, response);
}
/**
* 移除首条回复
*
* @return 移除的回复
*/
public WeixinResponse removeFirstResponse() {
return responses.remove(0);
}
/**
* 插入末条回复
*
* @param response
*/
public void addLastResponse(WeixinResponse response) {
responses.add(response);
}
/**
* 移除末条回复
*
* @return 移除的回复
*/
public WeixinResponse removeLastResponse() {
return responses.remove(responses.size() - 1);
}
/**
* 获取所有的回复
*
* @return
*/
public List<WeixinResponse> getResponses() {
return this.responses;
}
@Override
public String toContent() {
return null;
}
@Override
public String toString() {
return "MultipleResponse [responses=" + responses + "]";
}
}

View File

@ -1,32 +0,0 @@
package com.foxinmy.weixin4j.socket;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToMessageEncoder;
import java.util.List;
import com.foxinmy.weixin4j.response.MultipleResponse;
import com.foxinmy.weixin4j.response.WeixinResponse;
/**
* 微信多个回复编码类
*
* @className WeixinResponseEncoder
* @author jy
* @date 2016年4月27日
* @since JDK 1.6
* @see <a
* href="http://mp.weixin.qq.com/wiki/0/61c3a8b9d50ac74f18bdf2e54ddfc4e0.html">加密接入指引</a>
* @see com.foxinmy.weixin4j.response.MultipleResponse
*/
public class MultipleResponseEncoder extends
MessageToMessageEncoder<MultipleResponse> {
@Override
protected void encode(ChannelHandlerContext ctx, MultipleResponse response,
List<Object> out) throws Exception {
for (WeixinResponse r : response.getResponses()) {
ctx.writeAndFlush(r);
}
}
}

View File

@ -39,7 +39,6 @@ public class WeixinServerInitializer extends ChannelInitializer<SocketChannel> {
pipeline.addLast(new WeixinMessageDecoder(aesTokenMap)); pipeline.addLast(new WeixinMessageDecoder(aesTokenMap));
pipeline.addLast(new WeixinResponseEncoder()); pipeline.addLast(new WeixinResponseEncoder());
pipeline.addLast(new SingleResponseEncoder()); pipeline.addLast(new SingleResponseEncoder());
pipeline.addLast(new MultipleResponseEncoder());
pipeline.addLast(new WeixinRequestHandler(messageDispatcher)); pipeline.addLast(new WeixinRequestHandler(messageDispatcher));
} }
} }