You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mu...@apache.org on 2014/04/09 14:07:09 UTC
git commit: updated refs/heads/master to bc17f17
Repository: cloudstack
Updated Branches:
refs/heads/master b5a93751e -> bc17f1777
CLOUDSTACK-6365: support virtual host and ssl in rabbitMQ event bus
with this fix, virtual host on the AMQP server can be specified. Also
SSL can be used for connection between management server and AMQP
servers.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bc17f177
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bc17f177
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bc17f177
Branch: refs/heads/master
Commit: bc17f177760b3b61f1df7ed9728738ffe64896d5
Parents: b5a9375
Author: Murali Reddy <mu...@gmail.com>
Authored: Wed Apr 9 17:32:16 2014 +0530
Committer: Murali Reddy <mu...@gmail.com>
Committed: Wed Apr 9 17:36:59 2014 +0530
----------------------------------------------------------------------
.../mom/rabbitmq/RabbitMQEventBus.java | 29 +++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc17f177/plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java
----------------------------------------------------------------------
diff --git a/plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java b/plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java
index 8403271..a1f4c2b 100644
--- a/plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java
+++ b/plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java
@@ -60,6 +60,18 @@ public class RabbitMQEventBus extends ManagerBase implements EventBus {
private static String username;
private static String password;
+ public static void setVirtualHost(String virtualHost) {
+ RabbitMQEventBus.virtualHost = virtualHost;
+ }
+
+ private static String virtualHost;
+
+ public static void setUseSsl(String useSsl) {
+ RabbitMQEventBus.useSsl = useSsl;
+ }
+
+ private static String useSsl;
+
// AMQP exchange name where all CloudStack events will be published
private static String amqpExchangeName;
@@ -104,6 +116,12 @@ public class RabbitMQEventBus extends ManagerBase implements EventBus {
throw new ConfigurationException("Unable to get the port details of AMQP server");
}
+ if (useSsl != null && !useSsl.isEmpty()) {
+ if (!useSsl.equalsIgnoreCase("true") && !useSsl.equalsIgnoreCase("false")) {
+ throw new ConfigurationException("Invalid configuration parameter for 'ssl'.");
+ }
+ }
+
if (retryInterval == null) {
retryInterval = 10000;// default to 10s to try out reconnect
}
@@ -345,9 +363,18 @@ public class RabbitMQEventBus extends ManagerBase implements EventBus {
ConnectionFactory factory = new ConnectionFactory();
factory.setUsername(username);
factory.setPassword(password);
- factory.setVirtualHost("/");
factory.setHost(amqpHost);
factory.setPort(port);
+
+ if (virtualHost != null && !virtualHost.isEmpty()) {
+ factory.setVirtualHost(virtualHost);
+ } else {
+ factory.setVirtualHost("/");
+ }
+
+ if (useSsl != null && !useSsl.isEmpty() && useSsl.equalsIgnoreCase("true")) {
+ factory.useSslProtocol();
+ }
Connection connection = factory.newConnection();
connection.addShutdownListener(disconnectHandler);
s_connection = connection;