Orchestrates sns sqs integration through a multi-stage Conductor workflow.
Input: topicArn, queueUrl, messageBody | Timeout: 60s
sns_publish
│
sns_subscribe_queue
│
sns_receive_message
│
sns_process_message
ProcessMessageWorker (sns_process_message): Processes a received SQS message.
Reads messageBody, receiptHandle. Outputs processed, deletedFromQueue, processedAt.
ReceiveMessageWorker (sns_receive_message): Receives a message from an SQS queue.
String receiptHandle = "rh-" + Long.toString(System.currentTimeMillis(), 36);Reads messageId, queueUrl. Outputs body, receiptHandle, approximateReceiveCount.
SnsPublishWorker (sns_publish): Publishes a message to an SNS topic.
String messageId = "sns-msg-" + Long.toString(System.currentTimeMillis(), 36);Reads topicArn. Outputs messageId, sequenceNumber.
SubscribeQueueWorker (sns_subscribe_queue): Subscribes an SQS queue to an SNS topic.
Reads queueUrl, topicArn. Outputs subscriptionArn, protocol.
8 tests cover valid inputs, boundary values, null handling, and error paths.
mvn testRun this example: see RUNNING.md for setup, build, and CLI instructions.