public static AmazonSQSTemporaryQueuesClient make()

in src/main/java/com/amazonaws/services/sqs/AmazonSQSTemporaryQueuesClient.java [78:99]


    public static AmazonSQSTemporaryQueuesClient make(AmazonSQSRequesterClientBuilder builder) {
        AmazonSQS sqs = builder.getAmazonSQS().orElseGet(AmazonSQSClientBuilder::defaultClient);
        AmazonSQSIdleQueueDeletingClient deleter = new AmazonSQSIdleQueueDeletingClient(sqs, builder.getInternalQueuePrefix(), builder.getQueueHeartbeatInterval());
        AmazonSQS virtualizer = AmazonSQSVirtualQueuesClientBuilder.standard()
                .withAmazonSQS(deleter)
                .withHeartbeatIntervalSeconds(builder.getQueueHeartbeatInterval())
                .build();
        AmazonSQSTemporaryQueuesClient temporaryQueuesClient = new AmazonSQSTemporaryQueuesClient(virtualizer, deleter, builder.getInternalQueuePrefix(), builder.getIdleQueueRetentionPeriodSeconds());
        AmazonSQSRequesterClient requester = new AmazonSQSRequesterClient(temporaryQueuesClient, builder.getInternalQueuePrefix(), builder.getQueueAttributes());
        AmazonSQSResponderClient responder = new AmazonSQSResponderClient(temporaryQueuesClient);
        temporaryQueuesClient.startIdleQueueSweeper(requester, responder,
                builder.getIdleQueueSweepingPeriod(), builder.getIdleQueueSweepingTimeUnit());
        if (builder.getAmazonSQS().isPresent()) {
            requester.setShutdownHook(temporaryQueuesClient::shutdown);
        } else {
            requester.setShutdownHook(() -> {
                temporaryQueuesClient.shutdown();
                sqs.shutdown();
            });
        }
        return temporaryQueuesClient;
    }