configurable exchange
This commit is contained in:
parent
928c9888dd
commit
2bfc385681
@ -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}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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)
|
||||||
|
@ -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