use of com.netflix.spinnaker.kork.aws.ARN in project kork by spinnaker.
the class SNSPublisherProvider method start.
@PostConstruct
public void start() {
if (properties == null) {
return;
}
List<PubsubPublisher> publishers = new ArrayList<>();
properties.getSubscriptions().forEach((AmazonPubsubProperties.AmazonPubsubSubscription subscription) -> {
ARN topicARN = new ARN(subscription.getTopicARN());
log.info("Bootstrapping SNS topic: {}", topicARN);
AmazonSNS amazonSNS = AmazonSNSClientBuilder.standard().withCredentials(awsCredentialsProvider).withClientConfiguration(new ClientConfiguration()).withRegion(topicARN.getRegion()).build();
Supplier<Boolean> isEnabled = PubSubUtils.getEnabledSupplier(dynamicConfig, subscription, discoveryStatus);
SNSPublisher publisher = new SNSPublisher(subscription, amazonSNS, isEnabled, registry, retrySupport);
publishers.add(publisher);
});
pubsubPublishers.putAll(publishers);
}
use of com.netflix.spinnaker.kork.aws.ARN in project kork by spinnaker.
the class SQSSubscriberProvider method start.
@PostConstruct
public void start() {
Preconditions.checkNotNull(properties, "Can't initialize SQSSubscriberProvider with null properties");
ExecutorService executorService = Executors.newFixedThreadPool(properties.getSubscriptions().size());
List<PubsubSubscriber> subscribers = new ArrayList<>();
properties.getSubscriptions().forEach((AmazonPubsubProperties.AmazonPubsubSubscription subscription) -> {
log.info("Bootstrapping SQS for SNS topic: {}", subscription.getTopicARN());
ARN queueArn = new ARN(subscription.getQueueARN());
ARN topicArn = new ARN(subscription.getTopicARN());
SQSSubscriber worker = new SQSSubscriber(subscription, pubsubMessageHandlerFactory.create(subscription), messageAcknowledger, AmazonSNSClientBuilder.standard().withCredentials(awsCredentialsProvider).withClientConfiguration(new ClientConfiguration()).withRegion(topicArn.getRegion()).build(), AmazonSQSClientBuilder.standard().withCredentials(awsCredentialsProvider).withClientConfiguration(new ClientConfiguration()).withRegion(queueArn.getRegion()).build(), PubSubUtils.getEnabledSupplier(dynamicConfig, subscription, discoveryStatus), registry);
try {
executorService.submit(worker);
subscribers.add(worker);
log.debug("Created worker {} for subscription: {}", worker.getWorkerName(), subscription.getName());
} catch (RejectedExecutionException e) {
log.error("Could not start {}", worker.getWorkerName(), e);
}
});
pubsubSubscribers.putAll(subscribers);
}
Aggregations