@Override
    public ZuulFilter<?, ?> putFilterForClassName(String className) throws Exception {
        Class<?> clazz = Class.forName(className);
        if (!ZuulFilter.class.isAssignableFrom(clazz)) {
            throw new IllegalArgumentException("Specified filter class does not implement ZuulFilter interface!");
        } else {
            ZuulFilter<?, ?> filter = filterFactory.newInstance(clazz);
            putFilter(className, filter, System.currentTimeMillis());
            return filter;
        }
    }
Load and cache filters by className

@param classNames The class names to load
@return List of the loaded filters
@throws Exception If any specified filter fails to load, this will abort. This is a safety mechanism so we can
prevent running in a partially loaded state.
zuul-core/src/main/java/com/netflix/zuul/DynamicFilterLoader.java