RMQ: Follow new sepia standard for routing-key
At the time of writing the routing key was merely a suggestion, it has
now been integrated into the sepia standard:
https://github.com/eiffel-community/eiffel-sepia/issues/8
https://eiffel-community.github.io/eiffel-sepia/rabbitmq-message-broker.html
Ensure that we follow the new format for the routing-key.
Solves: Jira GER-1697
Change-Id: Ied68582dc8c2a11c2ec174bc177db342184dc2d3
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/config/RabbitMqConfig.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/config/RabbitMqConfig.java
index 3811153..0de1b58 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/config/RabbitMqConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/config/RabbitMqConfig.java
@@ -84,7 +84,7 @@
private static final String CHAR_ENCODING = StandardCharsets.UTF_8.name();
private static final String CONTENT_TYPE = "application/json";
private static final String DEFAULT_APP_ID = "Gerrit";
- private static final String DEFAULT_ROUTING_KEY_TAG = "notag";
+ private static final String DEFAULT_ROUTING_KEY_TAG = "_";
private static final int NON_PERSISTENT_DELIVERY_VAL = 1;
private static final int PERSISTENT_DELIVERY_VAL = 2;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mq/RabbitMqPublisher.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mq/RabbitMqPublisher.java
index 7d45b66..baa1aae 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mq/RabbitMqPublisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mq/RabbitMqPublisher.java
@@ -31,12 +31,16 @@
import java.util.concurrent.TimeoutException;
public class RabbitMqPublisher implements EiffelEventPublisher, LifecycleListener {
- /* https://github.com/eiffel-community/eiffel-sepia/pull/9 */
- private static final String ROUTING_KEY = "eiffel.%s.%s.%s";
+ /* https://eiffel-community.github.io/eiffel-sepia/rabbitmq-message-broker.html */
+ private static final String ROUTING_KEY = "eiffel.%s.%s.%s.%s";
+ /* In Sepia "family" is part of the routing-key but the concept of event-family doesn't exist.
+ * https://eiffel-community.github.io/eiffel-sepia/rabbitmq-message-broker.html*/
+ private static final String DEFAULT_FAMILY = "_";
public static FluentLogger logger = FluentLogger.forEnclosingClass();
private static String toRoutingKey(EiffelEvent event, String tag) {
- return String.format(ROUTING_KEY, event.meta.type.getType(), tag, event.meta.source.domainId);
+ return String.format(
+ ROUTING_KEY, DEFAULT_FAMILY, event.meta.type.getType(), tag, event.meta.source.domainId);
}
private volatile Connection connection;