cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From muralire...@apache.org
Subject git commit: updated refs/heads/4.4 to 2ad98da
Date Wed, 09 Apr 2014 12:04:02 GMT
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 35b2bd50e -> 2ad98da09


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/2ad98da0
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2ad98da0
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2ad98da0

Branch: refs/heads/4.4
Commit: 2ad98da0953d06cdba22d4ce679291f995aaff40
Parents: 35b2bd5
Author: Murali Reddy <muralimmreddy@gmail.com>
Authored: Wed Apr 9 17:32:16 2014 +0530
Committer: Murali Reddy <muralimmreddy@gmail.com>
Committed: Wed Apr 9 17:33:48 2014 +0530

----------------------------------------------------------------------
 .../mom/rabbitmq/RabbitMQEventBus.java          | 29 +++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2ad98da0/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;


Mime
View raw message