From d8aefd23d3d6b99ce735533e4138688d78ad6967 Mon Sep 17 00:00:00 2001 From: Callum Seabrook Date: Fri, 5 Feb 2021 11:38:13 +0000 Subject: [PATCH] Added virtual host support for RabbitMQ (#2877) --- bukkit/src/main/resources/config.yml | 1 + bungee/src/main/resources/config.yml | 1 + .../java/me/lucko/luckperms/common/config/ConfigKeys.java | 5 +++++ .../lucko/luckperms/common/messaging/MessagingFactory.java | 3 ++- .../common/messaging/rabbitmq/RabbitMQMessenger.java | 3 ++- fabric/src/main/resources/luckperms.conf | 1 + nukkit/src/main/resources/config.yml | 1 + sponge/src/main/resources/luckperms.conf | 1 + velocity/src/main/resources/config.yml | 1 + 9 files changed, 15 insertions(+), 2 deletions(-) diff --git a/bukkit/src/main/resources/config.yml b/bukkit/src/main/resources/config.yml index acbbeaa45..ffa5ef2a3 100644 --- a/bukkit/src/main/resources/config.yml +++ b/bukkit/src/main/resources/config.yml @@ -253,6 +253,7 @@ redis: rabbitmq: enabled: false address: localhost + vhost: '/' username: 'guest' password: 'guest' diff --git a/bungee/src/main/resources/config.yml b/bungee/src/main/resources/config.yml index b73d3f966..17ffcf296 100644 --- a/bungee/src/main/resources/config.yml +++ b/bungee/src/main/resources/config.yml @@ -251,6 +251,7 @@ redis: rabbitmq: enabled: false address: localhost + vhost: '/' username: 'guest' password: 'guest' diff --git a/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java b/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java index fd7624c30..26577b759 100644 --- a/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java +++ b/common/src/main/java/me/lucko/luckperms/common/config/ConfigKeys.java @@ -629,6 +629,11 @@ public final class ConfigKeys { */ public static final ConfigKey RABBITMQ_ADDRESS = notReloadable(stringKey("rabbitmq.address", null)); + /** + * The virtual host to be used by the rabbitmq server + */ + public static final ConfigKey RABBITMQ_VIRTUAL_HOST = notReloadable(stringKey("rabbitmq.vhost", "/")); + /** * The username in use by the rabbitmq server */ diff --git a/common/src/main/java/me/lucko/luckperms/common/messaging/MessagingFactory.java b/common/src/main/java/me/lucko/luckperms/common/messaging/MessagingFactory.java index e549661e8..8fa0d4f91 100644 --- a/common/src/main/java/me/lucko/luckperms/common/messaging/MessagingFactory.java +++ b/common/src/main/java/me/lucko/luckperms/common/messaging/MessagingFactory.java @@ -162,10 +162,11 @@ public class MessagingFactory

{ LuckPermsConfiguration config = getPlugin().getConfiguration(); String address = config.get(ConfigKeys.RABBITMQ_ADDRESS); + String virtualHost = config.get(ConfigKeys.RABBITMQ_VIRTUAL_HOST); String username = config.get(ConfigKeys.RABBITMQ_USERNAME); String password = config.get(ConfigKeys.RABBITMQ_PASSWORD); - rabbitmq.init(address, username, password); + rabbitmq.init(address, virtualHost, username, password); return rabbitmq; } } diff --git a/common/src/main/java/me/lucko/luckperms/common/messaging/rabbitmq/RabbitMQMessenger.java b/common/src/main/java/me/lucko/luckperms/common/messaging/rabbitmq/RabbitMQMessenger.java index ebdc1e80a..ac16fac5c 100644 --- a/common/src/main/java/me/lucko/luckperms/common/messaging/rabbitmq/RabbitMQMessenger.java +++ b/common/src/main/java/me/lucko/luckperms/common/messaging/rabbitmq/RabbitMQMessenger.java @@ -65,7 +65,7 @@ public class RabbitMQMessenger implements Messenger { this.consumer = consumer; } - public void init(String address, String username, String password) { + public void init(String address, String virtualHost, String username, String password) { String[] addressSplit = address.split(":"); String host = addressSplit[0]; int port = addressSplit.length > 1 ? Integer.parseInt(addressSplit[1]) : DEFAULT_PORT; @@ -73,6 +73,7 @@ public class RabbitMQMessenger implements Messenger { this.connectionFactory = new ConnectionFactory(); this.connectionFactory.setHost(host); this.connectionFactory.setPort(port); + this.connectionFactory.setVirtualHost(virtualHost); this.connectionFactory.setUsername(username); this.connectionFactory.setPassword(password); diff --git a/fabric/src/main/resources/luckperms.conf b/fabric/src/main/resources/luckperms.conf index ace81ec33..b36eca836 100644 --- a/fabric/src/main/resources/luckperms.conf +++ b/fabric/src/main/resources/luckperms.conf @@ -257,6 +257,7 @@ redis { rabbitmq { enabled = false address = "localhost" + vhost = "/" username = "guest" password = "guest" } diff --git a/nukkit/src/main/resources/config.yml b/nukkit/src/main/resources/config.yml index 90204e6dc..d7d4da3c8 100644 --- a/nukkit/src/main/resources/config.yml +++ b/nukkit/src/main/resources/config.yml @@ -248,6 +248,7 @@ redis: rabbitmq: enabled: false address: localhost + vhost: '/' username: 'guest' password: 'guest' diff --git a/sponge/src/main/resources/luckperms.conf b/sponge/src/main/resources/luckperms.conf index a18dad182..10bbefb04 100644 --- a/sponge/src/main/resources/luckperms.conf +++ b/sponge/src/main/resources/luckperms.conf @@ -257,6 +257,7 @@ redis { rabbitmq { enabled = false address = "localhost" + vhost = "/" username = "guest" password = "guest" } diff --git a/velocity/src/main/resources/config.yml b/velocity/src/main/resources/config.yml index 6f38c4bf1..234fe2a6d 100644 --- a/velocity/src/main/resources/config.yml +++ b/velocity/src/main/resources/config.yml @@ -242,6 +242,7 @@ redis: rabbitmq: enabled: false address: localhost + vhost: '/' username: 'guest' password: 'guest'