configurable exchange
This commit is contained in:
parent
928c9888dd
commit
2bfc385681
@ -15,5 +15,7 @@ ktor {
|
||||
host = ${MQ_HOST}
|
||||
username = ${MQ_USERNAME}
|
||||
password = ${MQ_PASSWORD}
|
||||
exchange = "output"
|
||||
exchange = ${?MQ_EXCHANGE}
|
||||
}
|
||||
}
|
@ -16,7 +16,6 @@ import org.apache.http.HttpException
|
||||
import com.kmalbz.database.DatabaseFactory
|
||||
import com.kmalbz.database.dao.ResultObjects
|
||||
import com.kmalbz.database.service.ResultObjectService
|
||||
import com.kmalbz.mq.RecieveOutput
|
||||
import io.ktor.util.KtorExperimentalAPI
|
||||
import com.rabbitmq.client.*
|
||||
import com.typesafe.config.ConfigFactory
|
||||
@ -60,9 +59,11 @@ fun Application.module(testing: Boolean = false) {
|
||||
val connection = factory.newConnection()
|
||||
val channel = connection.createChannel()
|
||||
|
||||
channel.exchangeDeclare(RecieveOutput.EXCHANGE_NAME, BuiltinExchangeType.FANOUT)
|
||||
val rabbitExchangeName = appConfig.property("ktor.mq.exchange").getString()
|
||||
|
||||
channel.exchangeDeclare(rabbitExchangeName, BuiltinExchangeType.FANOUT)
|
||||
val queueName = channel.queueDeclare().queue
|
||||
channel.queueBind(queueName, RecieveOutput.EXCHANGE_NAME, "")
|
||||
channel.queueBind(queueName, rabbitExchangeName, "")
|
||||
|
||||
GlobalScope.launch(Dispatchers.Default) {
|
||||
connection.channel {
|
||||
@ -80,14 +81,6 @@ fun Application.module(testing: Boolean = false) {
|
||||
}
|
||||
|
||||
routing {
|
||||
get("/") {
|
||||
call.respondText("HELLO WORLD!", contentType = ContentType.Text.Plain)
|
||||
}
|
||||
|
||||
get("/json/gson") {
|
||||
call.respond(mapOf("hello" to "world"))
|
||||
}
|
||||
|
||||
install(StatusPages) {
|
||||
exception<AuthenticationException> { _ ->
|
||||
call.respond(HttpStatusCode.Unauthorized)
|
||||
|
@ -1,7 +0,0 @@
|
||||
package com.kmalbz.mq
|
||||
|
||||
class RecieveOutput {
|
||||
companion object {
|
||||
const val EXCHANGE_NAME = "output"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user