web/src/main/java/org/springframework/security/web/access/channel/ChannelProcessingFilter.java
@Override
	public void afterPropertiesSet() {
		Assert.notNull(this.securityMetadataSource,
				"securityMetadataSource must be specified");
		Assert.notNull(this.channelDecisionManager,
				"channelDecisionManager must be specified");

		Collection<ConfigAttribute> attrDefs = this.securityMetadataSource
				.getAllConfigAttributes();

		if (attrDefs == null) {
			if (this.logger.isWarnEnabled()) {
				this.logger
						.warn("Could not validate configuration attributes as the FilterInvocationSecurityMetadataSource did "
								+ "not return any attributes");
			}

			return;
		}

		Set<ConfigAttribute> unsupportedAttributes = new HashSet<>();

		for (ConfigAttribute attr : attrDefs) {
			if (!this.channelDecisionManager.supports(attr)) {
				unsupportedAttributes.add(attr);
			}
		}

		if (unsupportedAttributes.size() == 0) {
			if (this.logger.isInfoEnabled()) {
				this.logger.info("Validated configuration attributes");
			}
		}
		else {
			throw new IllegalArgumentException(
					"Unsupported configuration attributes: " + unsupportedAttributes);
		}
	}
@Override
	public void afterPropertiesSet() {
		Assert.notNull(this.securityMetadataSource,
				"securityMetadataSource must be specified");
		Assert.notNull(this.channelDecisionManager,
				"channelDecisionManager must be specified");

		Collection<ConfigAttribute> attrDefs = this.securityMetadataSource
				.getAllConfigAttributes();

		if (attrDefs == null) {
			if (this.logger.isWarnEnabled()) {
				this.logger
						.warn("Could not validate configuration attributes as the FilterInvocationSecurityMetadataSource did "
								+ "not return any attributes");
			}

			return;
		}

		Set<ConfigAttribute> unsupportedAttributes = new HashSet<>();

		for (ConfigAttribute attr : attrDefs) {
			if (!this.channelDecisionManager.supports(attr)) {
				unsupportedAttributes.add(attr);
			}
		}

		if (unsupportedAttributes.size() == 0) {
			if (this.logger.isInfoEnabled()) {
				this.logger.info("Validated configuration attributes");
			}
		}
		else {
			throw new IllegalArgumentException(
					"Unsupported configuration attributes: " + unsupportedAttributes);
		}
	}
@ Override public void afterPropertiesSet ( ) { Assert . notNull ( this . securityMetadataSource , "securityMetadataSource must be specified" ) ; Assert . notNull ( this . channelDecisionManager , "channelDecisionManager must be specified" ) ; Collection < ConfigAttribute > attrDefs = this . securityMetadataSource . getAllConfigAttributes ( ) ; if ( attrDefs == null ) { if ( this . logger . isWarnEnabled ( ) ) { this . logger . warn ( "Could not validate configuration attributes as the FilterInvocationSecurityMetadataSource did " + "not return any attributes" ) ; } return ; } Set < ConfigAttribute > unsupportedAttributes = new HashSet <> ( ) ; for ( ConfigAttribute attr : attrDefs ) { if ( ! this . channelDecisionManager . supports ( attr ) ) { unsupportedAttributes . add ( attr ) ; } } if ( unsupportedAttributes . size ( ) == 0 ) { if ( this . logger . isInfoEnabled ( ) ) { this . logger . info ( "Validated configuration attributes" ) ; } } else { throw new IllegalArgumentException ( "Unsupported configuration attributes: " + unsupportedAttributes ) ; } }
========================================================================================================
========================================================================================================