<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2013-2019 the original author or authors.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      https://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns:aws-context="http://www.springframework.org/schema/cloud/aws/context"
	   xmlns:aws-messaging="http://www.springframework.org/schema/cloud/aws/messaging"
	   xmlns:task="http://www.springframework.org/schema/task"
	   xmlns="http://www.springframework.org/schema/beans"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
	   					   https://www.springframework.org/schema/beans/spring-beans.xsd
	   					   http://www.springframework.org/schema/cloud/aws/context
	   					   http://www.springframework.org/schema/cloud/aws/context/spring-cloud-aws-context.xsd
	   					   http://www.springframework.org/schema/cloud/aws/messaging
	   					   http://www.springframework.org/schema/cloud/aws/messaging/spring-cloud-aws-messaging.xsd
	   					   http://www.springframework.org/schema/task
	   					   https://www.springframework.org/schema/task/spring-task.xsd">


	<aws-context:context-credentials>
		<aws-context:instance-profile-credentials/>
	</aws-context:context-credentials>

	<task:executor id="myThreadPoolTaskExecutor" pool-size="20" queue-capacity="0"
				   keep-alive="0"
				   rejection-policy="CALLER_RUNS"/>

	<aws-messaging:sqs-async-client id="customClient"
									task-executor="myThreadPoolTaskExecutor"/>
</beans>
