@Provides @Singleton public AmazonSQSAsync sqs(ApplicationProperties properties, AWSCredentialsProvider credentials, ExecutorService executor) { AmazonSQSAsyncClient sqs = new AmazonSQSAsyncClient(credentials, executor); sqs.setEndpoint(properties.lookup("aws.sqs.endpoint")); ShutdownHelper.addShutdownHook(sqs::getExecutorService, sqs::shutdown); return sqs; }
AmazonSQSClient client() { if (sqs != null) { return sqs; } sqs = new AmazonSQSAsyncClient(new BasicAWSCredentials(Config.AWS_ACCESSKEY, Config.AWS_SECRETKEY)); sqs.setRegion(Region.getRegion(Regions.fromName(Config.AWS_REGION))); sqs.setEndpoint(this.endpoint); Para.addDestroyListener(new Para.DestroyListener() { public void onDestroy() { sqs.shutdown(); } }); return sqs; }
protected AmazonSQSAsyncClient initSqs() { AWSCredentialsProvider credentials = new AWSCredentialsProviderChain( new EnvironmentVariableCredentialsProvider(), new SystemPropertiesCredentialsProvider(), new StaticCredentialsProvider(new AppenderCredentials()), new ProfileCredentialsProvider(), new InstanceProfileCredentialsProvider() ); AmazonSQSAsyncClient sqs = new AmazonSQSAsyncClient(credentials, Executors.newFixedThreadPool(getThreads())); sqs.setEndpoint(getEndpoint()); return sqs; }