Merge pull request 'fix: update RabbitMQ queue configurations to use durable and quorum settings' (#54) from fix/rabbit into main
Reviewed-on: #54
This commit is contained in:
commit
77c1e49749
@ -1,11 +1,13 @@
|
||||
package com.magamochi.common.config;
|
||||
|
||||
import com.magamochi.common.model.enumeration.ContentType;
|
||||
import org.springframework.amqp.core.AmqpAdmin;
|
||||
import org.springframework.amqp.core.Binding;
|
||||
import org.springframework.amqp.core.Queue;
|
||||
import org.springframework.amqp.core.QueueBuilder;
|
||||
import org.springframework.amqp.core.TopicExchange;
|
||||
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
||||
import org.springframework.amqp.rabbit.core.RabbitAdmin;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.amqp.support.converter.JacksonJsonMessageConverter;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@ -57,7 +59,8 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue imageFetchQueue() {
|
||||
return QueueBuilder.nonDurable(imageFetchQueue)
|
||||
return QueueBuilder.durable(imageFetchQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(imageFetchQueue + ".dlq")
|
||||
.build();
|
||||
@ -65,12 +68,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue imageFetchDlq() {
|
||||
return QueueBuilder.nonDurable(imageFetchQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(imageFetchQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue mangaUpdateQueue() {
|
||||
return QueueBuilder.nonDurable(mangaUpdateQueue)
|
||||
return QueueBuilder.durable(mangaUpdateQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaUpdateQueue + ".dlq")
|
||||
.build();
|
||||
@ -78,12 +82,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaUpdateDlq() {
|
||||
return QueueBuilder.nonDurable(mangaUpdateQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaUpdateQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentImageUpdateQueue() {
|
||||
return QueueBuilder.nonDurable(mangaContentImageUpdateQueue)
|
||||
return QueueBuilder.durable(mangaContentImageUpdateQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaContentImageUpdateQueue + ".dlq")
|
||||
.build();
|
||||
@ -91,12 +96,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentImageUpdateDlq() {
|
||||
return QueueBuilder.nonDurable(mangaContentImageUpdateQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaContentImageUpdateQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue mangaCoverUpdateQueue() {
|
||||
return QueueBuilder.nonDurable(mangaCoverUpdateQueue)
|
||||
return QueueBuilder.durable(mangaCoverUpdateQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaCoverUpdateQueue + ".dlq")
|
||||
.build();
|
||||
@ -104,12 +110,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaCoverUpdateDlq() {
|
||||
return QueueBuilder.nonDurable(mangaCoverUpdateQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaCoverUpdateQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue fileImportQueue() {
|
||||
return QueueBuilder.nonDurable(fileImportQueue)
|
||||
return QueueBuilder.durable(fileImportQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(fileImportQueue + ".dlq")
|
||||
.build();
|
||||
@ -117,7 +124,7 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue fileImportDlq() {
|
||||
return QueueBuilder.nonDurable(fileImportQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(fileImportQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ -145,7 +152,8 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentIngestQueue() {
|
||||
return QueueBuilder.nonDurable(mangaContentIngestQueue)
|
||||
return QueueBuilder.durable(mangaContentIngestQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaContentIngestQueue + ".dlq")
|
||||
.build();
|
||||
@ -153,12 +161,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentIngestDlq() {
|
||||
return QueueBuilder.nonDurable(mangaContentIngestQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaContentIngestQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentImageIngestQueue() {
|
||||
return QueueBuilder.nonDurable(mangaContentImageIngestQueue)
|
||||
return QueueBuilder.durable(mangaContentImageIngestQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaContentImageIngestQueue + ".dlq")
|
||||
.build();
|
||||
@ -166,12 +175,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentImageIngestDlq() {
|
||||
return QueueBuilder.nonDurable(mangaContentImageIngestQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaContentImageIngestQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue mangaIngestQueue() {
|
||||
return QueueBuilder.nonDurable(mangaIngestQueue)
|
||||
return QueueBuilder.durable(mangaIngestQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaIngestQueue + ".dlq")
|
||||
.build();
|
||||
@ -179,12 +189,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaIngestDlq() {
|
||||
return QueueBuilder.nonDurable(mangaIngestQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaIngestQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue providerPageIngestQueue() {
|
||||
return QueueBuilder.nonDurable(providerPageIngestQueue)
|
||||
return QueueBuilder.durable(providerPageIngestQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(providerPageIngestQueue + ".dlq")
|
||||
.build();
|
||||
@ -192,12 +203,13 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue providerPageIngestDlq() {
|
||||
return QueueBuilder.nonDurable(providerPageIngestQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(providerPageIngestQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentDownloadQueue() {
|
||||
return QueueBuilder.nonDurable(mangaContentDownloadQueue)
|
||||
return QueueBuilder.durable(mangaContentDownloadQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaContentDownloadQueue + ".dlq")
|
||||
.build();
|
||||
@ -205,7 +217,7 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaContentDownloadDlq() {
|
||||
return QueueBuilder.nonDurable(mangaContentDownloadQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaContentDownloadQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
// TODO: remove unused queues
|
||||
@ -215,7 +227,8 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaFollowUpdateChapterQueue() {
|
||||
return QueueBuilder.nonDurable(mangaFollowUpdateChapterQueue)
|
||||
return QueueBuilder.durable(mangaFollowUpdateChapterQueue)
|
||||
.quorum()
|
||||
.deadLetterExchange("")
|
||||
.deadLetterRoutingKey(mangaFollowUpdateChapterQueue + ".dlq")
|
||||
.build();
|
||||
@ -223,7 +236,12 @@ public class RabbitConfig {
|
||||
|
||||
@Bean
|
||||
public Queue mangaFollowUpdateChapterDlq() {
|
||||
return QueueBuilder.nonDurable(mangaFollowUpdateChapterQueue + ".dlq").build();
|
||||
return QueueBuilder.durable(mangaFollowUpdateChapterQueue + ".dlq").quorum().build();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public AmqpAdmin amqpAdmin(ConnectionFactory connectionFactory) {
|
||||
return new RabbitAdmin(connectionFactory);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user