예제 #1
0
 public final void removeHandler(MessageHandler handler) {
   Map<Class<?>, Boolean> types = ClassUtils.getHandlerTypes(handler.getClass());
   for (Entry<Class<?>, Boolean> e : types.entrySet()) {
     Class<?> type = e.getKey();
     HandlerWrapper handlerWrapper = createHandlerWrapper(type, handler, e.getValue());
     FrameType frameType = handlerWrapper.getFrameType();
     HandlerWrapper wrapper = handlers.get(frameType);
     if (wrapper != null && wrapper.getMessageType() == type) {
       handlers.remove(frameType, wrapper);
     }
   }
 }