diff --git a/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/health/messagesystem/HealthCheckAWSSQS.kt b/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/health/messagesystem/HealthCheckAWSSQS.kt index 921bd714..13fbfcdf 100644 --- a/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/health/messagesystem/HealthCheckAWSSQS.kt +++ b/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/health/messagesystem/HealthCheckAWSSQS.kt @@ -29,7 +29,7 @@ class HealthCheckAWSSQS( }.await() } result.onFailure { error -> - val reason = "AWS SQS is not healthy ${error.localizedMessage}" + val reason = "AWS SQS is not healthy: ${error.localizedMessage}" logger.error(reason) return HealthCheckResult(service, HealthStatusType.STATUS_DOWN, reason) } diff --git a/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/messagesystems/AWSSQSMessageSystem.kt b/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/messagesystems/AWSSQSMessageSystem.kt index 66891409..3ab13d27 100644 --- a/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/messagesystems/AWSSQSMessageSystem.kt +++ b/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/messagesystems/AWSSQSMessageSystem.kt @@ -11,7 +11,7 @@ import gov.cdc.ocio.types.health.HealthCheckSystem * @property healthCheckSystem HealthCheckSystem * @constructor */ -class AWSSQSMessageSystem(sqsClient: SqsClient, queueUrl: String): MessageSystem { +class AWSSQSMessageSystem(val sqsClient: SqsClient, queueUrl: String): MessageSystem { override var healthCheckSystem = HealthCheckAWSSQS(sqsClient, queueUrl) as HealthCheckSystem } \ No newline at end of file diff --git a/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/plugins/AWSSQS.kt b/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/plugins/AWSSQS.kt index 57d33d13..848da0a7 100644 --- a/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/plugins/AWSSQS.kt +++ b/pstatus-report-sink-ktor/src/main/kotlin/gov/cdc/ocio/processingstatusapi/plugins/AWSSQS.kt @@ -7,6 +7,8 @@ import aws.sdk.kotlin.runtime.auth.credentials.StaticCredentialsProvider import aws.sdk.kotlin.services.sqs.SqsClient import aws.sdk.kotlin.services.sqs.model.* import aws.smithy.kotlin.runtime.net.url.Url +import gov.cdc.ocio.processingstatusapi.messagesystems.AWSSQSMessageSystem +import gov.cdc.ocio.processingstatusapi.messagesystems.MessageSystem import gov.cdc.ocio.processingstatusapi.utils.SchemaValidation import io.ktor.server.application.* @@ -17,7 +19,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch import org.apache.qpid.proton.TimeoutException -import org.koin.java.KoinJavaComponent.inject +import org.koin.java.KoinJavaComponent.getKoin import software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider import java.nio.file.Path @@ -66,7 +68,8 @@ val AWSSQSPlugin = createApplicationPlugin( configurationPath = "aws", createConfiguration = ::AWSSQSServiceConfiguration ) { - val sqsClient by inject(SqsClient::class.java) + + lateinit var sqsClient: SqsClient lateinit var queueUrl: String @@ -164,6 +167,8 @@ val AWSSQSPlugin = createApplicationPlugin( on(MonitoringEvent(ApplicationStarted)) { application -> application.log.info("Application started successfully.") + val msgSystem = getKoin().get() as AWSSQSMessageSystem + sqsClient = msgSystem.sqsClient consumeMessages() }