configurable exchange

This commit is contained in:
Torma Kristóf 2020-04-13 16:21:02 +02:00
parent 928c9888dd
commit 2bfc385681
Signed by: tormakris
GPG Key ID: DC83C4F2C41B1047
3 changed files with 6 additions and 18 deletions

View File

@ -15,5 +15,7 @@ ktor {
host = ${MQ_HOST} host = ${MQ_HOST}
username = ${MQ_USERNAME} username = ${MQ_USERNAME}
password = ${MQ_PASSWORD} password = ${MQ_PASSWORD}
exchange = "output"
exchange = ${?MQ_EXCHANGE}
} }
} }

View File

@ -16,7 +16,6 @@ import org.apache.http.HttpException
import com.kmalbz.database.DatabaseFactory import com.kmalbz.database.DatabaseFactory
import com.kmalbz.database.dao.ResultObjects import com.kmalbz.database.dao.ResultObjects
import com.kmalbz.database.service.ResultObjectService import com.kmalbz.database.service.ResultObjectService
import com.kmalbz.mq.RecieveOutput
import io.ktor.util.KtorExperimentalAPI import io.ktor.util.KtorExperimentalAPI
import com.rabbitmq.client.* import com.rabbitmq.client.*
import com.typesafe.config.ConfigFactory import com.typesafe.config.ConfigFactory
@ -60,9 +59,11 @@ fun Application.module(testing: Boolean = false) {
val connection = factory.newConnection() val connection = factory.newConnection()
val channel = connection.createChannel() 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 val queueName = channel.queueDeclare().queue
channel.queueBind(queueName, RecieveOutput.EXCHANGE_NAME, "") channel.queueBind(queueName, rabbitExchangeName, "")
GlobalScope.launch(Dispatchers.Default) { GlobalScope.launch(Dispatchers.Default) {
connection.channel { connection.channel {
@ -80,14 +81,6 @@ fun Application.module(testing: Boolean = false) {
} }
routing { routing {
get("/") {
call.respondText("HELLO WORLD!", contentType = ContentType.Text.Plain)
}
get("/json/gson") {
call.respond(mapOf("hello" to "world"))
}
install(StatusPages) { install(StatusPages) {
exception<AuthenticationException> { _ -> exception<AuthenticationException> { _ ->
call.respond(HttpStatusCode.Unauthorized) call.respond(HttpStatusCode.Unauthorized)

View File

@ -1,7 +0,0 @@
package com.kmalbz.mq
class RecieveOutput {
companion object {
const val EXCHANGE_NAME = "output"
}
}