From 098ae0539fe0ce3dac6c986fa0ae2314d07109f6 Mon Sep 17 00:00:00 2001 From: jinyu Date: Mon, 9 May 2016 17:03:58 +0800 Subject: [PATCH] #59 --- .../dispatcher/WeixinMessageDispatcher.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java index b2760169..c4cfd280 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java @@ -256,6 +256,12 @@ public class WeixinMessageDispatcher { } if (beanFactory != null) { for (Class clazz : messageHandlerClass) { + if (clazz.isInterface() + || Modifier.isAbstract(clazz.getModifiers()) + || !WeixinMessageHandler.class + .isAssignableFrom(clazz)) { + continue; + } try { messageHandlerList .add((WeixinMessageHandler) beanFactory @@ -274,7 +280,9 @@ public class WeixinMessageDispatcher { } else { for (Class clazz : messageHandlerClass) { if (clazz.isInterface() - || Modifier.isAbstract(clazz.getModifiers())) { + || Modifier.isAbstract(clazz.getModifiers()) + || !WeixinMessageHandler.class + .isAssignableFrom(clazz)) { continue; } try { @@ -318,6 +326,12 @@ public class WeixinMessageDispatcher { } if (beanFactory != null) { for (Class clazz : messageInterceptorClass) { + if (clazz.isInterface() + || Modifier.isAbstract(clazz.getModifiers()) + || !WeixinMessageInterceptor.class + .isAssignableFrom(clazz)) { + continue; + } try { messageInterceptorList .add((WeixinMessageInterceptor) beanFactory @@ -336,7 +350,9 @@ public class WeixinMessageDispatcher { } else { for (Class clazz : messageInterceptorClass) { if (clazz.isInterface() - || Modifier.isAbstract(clazz.getModifiers())) { + || Modifier.isAbstract(clazz.getModifiers()) + || !WeixinMessageInterceptor.class + .isAssignableFrom(clazz)) { continue; } try {