<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns:int="http://www.springframework.org/schema/integration"
	   xmlns:p="http://www.springframework.org/schema/p"
	   xmlns:aop="http://www.springframework.org/schema/aop"
	   xsi:schemaLocation="http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd
		http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
		http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">

	<int:channel id="inputA">
		<int:interceptors>
			<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="eight"/>
			<ref bean="channelInterceptor"/>
		</int:interceptors>
	</int:channel>

	<int:channel id="inputB">
		<int:queue capacity="1"/>
	</int:channel>

	<int:channel id="inputC"/>

	<int:publish-subscribe-channel id="foo"/>

	<int:channel id="bar">
		<int:interceptors>
			<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="eight"/>
			<ref bean="channelInterceptor"/>
		</int:interceptors>
	</int:channel>

	<int:channel id="baz"/>

	<int:channel id="test"/>

	<int:channel-interceptor pattern="!tes*" order="8">
		<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="twelve"/>
	</int:channel-interceptor>
	<int:channel-interceptor pattern="input*, foo" order="3">
		<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="one"/>
	</int:channel-interceptor>
	<int:channel-interceptor pattern="input*, foo, object" order="1">
		<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="four"/>
	</int:channel-interceptor>

	<int:channel-interceptor pattern="inputA, foo">
		<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="five"/>
	</int:channel-interceptor>
	<int:channel-interceptor pattern="inputA">
		<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="six"/>
	</int:channel-interceptor>

	<int:channel-interceptor>
		<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="ten"/>
	</int:channel-interceptor>

	<int:channel-interceptor pattern="*" ref="eleven"/>

	<bean id="eleven" class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="eleven"/>

	<int:channel-interceptor pattern="input*, foo" order="-3">
		<bean class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="two"/>
	</int:channel-interceptor>

	<int:channel-interceptor pattern="input*" order="-4">
		<ref bean="sampleInterceptor" />
	</int:channel-interceptor>

	<bean id="sampleInterceptor" class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="three"/>

	<bean id="channelInterceptor" class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests$SampleInterceptor" p:testIdentifier="seven"/>


	<int:channel id="inputWithProxy"/>

	<aop:config>
		<aop:pointcut id="testPointcut" expression="bean(inputWithProxy)"/>
		<aop:advisor advice-ref="testInterceptor" pointcut-ref="testPointcut"/>
	</aop:config>

	<bean id="testInterceptor" class="org.springframework.integration.channel.interceptor.GlobalChannelInterceptorTests.TestInterceptor"/>
</beans>
