You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2009/09/10 16:38:25 UTC

svn commit: r813459 - in /qpid/trunk/qpid/java/broker: etc/config.xml etc/virtualhosts.xml src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java

Author: ritchiem
Date: Thu Sep 10 14:38:25 2009
New Revision: 813459

URL: http://svn.apache.org/viewvc?rev=813459&view=rev
Log:
QPID-2091 : Updated ServerConfiguration and added test to ServerConfigurationTest. Merged virtualhost.xml with config.xml

Removed:
    qpid/trunk/qpid/java/broker/etc/virtualhosts.xml
Modified:
    qpid/trunk/qpid/java/broker/etc/config.xml
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java

Modified: qpid/trunk/qpid/java/broker/etc/config.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/etc/config.xml?rev=813459&r1=813458&r2=813459&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/etc/config.xml (original)
+++ qpid/trunk/qpid/java/broker/etc/config.xml Thu Sep 10 14:38:25 2009
@@ -24,17 +24,20 @@
     <work>${QPID_WORK}</work>
     <conf>${prefix}/etc</conf>
     <connector>
-        <!-- Uncomment out this block and edit the keystorePath and keystorePassword
-             to enable SSL support
+        <!-- To enable SSL edit the keystorePath and keystorePassword
+	     and set enabled to true. 
+             To disasble Non-SSL port set sslOnly to true -->
         <ssl>
-            <enabled>true</enabled>
-            <sslOnly>true</sslOnly>
+            <enabled>false</enabled>
+            <sslOnly>false</sslOnly>
             <keystorePath>/path/to/keystore.ks</keystorePath>
             <keystorePassword>keystorepass</keystorePassword>
-        </ssl>-->
+        </ssl>
         <qpidnio>false</qpidnio>
         <protectio>
             <enabled>false</enabled>
+            <readBufferLimitSize>262144</readBufferLimitSize>
+            <writeBufferLimitSize>262144</writeBufferLimitSize>	    
         </protectio>
         <transport>nio</transport>
         <port>5672</port>
@@ -59,6 +62,7 @@
         <framesize>65535</framesize>
         <compressBufferOnQueue>false</compressBufferOnQueue>
         <enableJMSXUserID>false</enableJMSXUserID>
+        <locale>en_US</locale>	
     </advanced>
 
     <security>
@@ -89,40 +93,143 @@
     </security>
 
     <virtualhosts>
-        <directory>${conf}/virtualhosts</directory>
 
+        <default>test</default>
         <virtualhost>
             <name>localhost</name>
             <localhost>
                 <store>
-                    <class>org.apache.qpid.server.store.MemoryMessageStore</class>
+                    <class>org.apache.qpid.server.store.MemoryMessageStore
+                    </class>
                 </store>
 
                 <housekeeping>
                     <expiredMessageCheckPeriod>20000</expiredMessageCheckPeriod>
                 </housekeeping>
 
+                <exchanges>
+                    <exchange>
+                        <type>direct</type>
+                        <name>test.direct</name>
+                        <durable>true</durable>
+                    </exchange>
+                    <exchange>
+                        <type>topic</type>
+                        <name>test.topic</name>
+                    </exchange>
+                </exchanges>
+                <queues>
+                    <exchange>amq.direct</exchange>
+                    <maximumQueueDepth>4235264</maximumQueueDepth>
+                    <!-- 4Mb -->
+                    <maximumMessageSize>2117632</maximumMessageSize>
+                    <!-- 2Mb -->
+                    <maximumMessageAge>600000</maximumMessageAge>
+                    <!-- 10 mins -->
+                    <maximumMessageCount>50</maximumMessageCount>
+                    <!-- 50 messages -->
+
+                    <queue>
+                        <name>queue</name>
+                    </queue>
+                    <queue>
+                        <name>ping</name>
+                    </queue>
+                    <queue>
+                        <name>test-queue</name>
+                        <test-queue>
+                            <exchange>test.direct</exchange>
+                            <durable>true</durable>
+                        </test-queue>
+                    </queue>
+                    <queue>
+                        <name>test-ping</name>
+                        <test-ping>
+                            <exchange>test.direct</exchange>
+                        </test-ping>
+                    </queue>
+
+                </queues>
             </localhost>
         </virtualhost>
 
+
         <virtualhost>
             <name>development</name>
             <development>
                 <store>
-                    <class>org.apache.qpid.server.store.MemoryMessageStore</class>
+                    <class>org.apache.qpid.server.store.MemoryMessageStore
+                    </class>
                 </store>
+
+                <queues>
+                    <minimumAlertRepeatGap>30000</minimumAlertRepeatGap>
+                    <maximumMessageCount>50</maximumMessageCount>
+                    <queue>
+                        <name>queue</name>
+                        <queue>
+                            <exchange>amq.direct</exchange>
+                            <maximumQueueDepth>4235264</maximumQueueDepth>
+                            <!-- 4Mb -->
+                            <maximumMessageSize>2117632</maximumMessageSize>
+                            <!-- 2Mb -->
+                            <maximumMessageAge>600000</maximumMessageAge>
+                            <!-- 10 mins -->
+                        </queue>
+                    </queue>
+                    <queue>
+                        <name>ping</name>
+                        <ping>
+                            <exchange>amq.direct</exchange>
+                            <maximumQueueDepth>4235264</maximumQueueDepth>
+                            <!-- 4Mb -->
+                            <maximumMessageSize>2117632</maximumMessageSize>
+                            <!-- 2Mb -->
+                            <maximumMessageAge>600000</maximumMessageAge>
+                            <!-- 10 mins -->
+                        </ping>
+                    </queue>
+                </queues>
             </development>
         </virtualhost>
-
         <virtualhost>
             <name>test</name>
             <test>
                 <store>
-                    <class>org.apache.qpid.server.store.MemoryMessageStore</class>
+                    <class>org.apache.qpid.server.store.MemoryMessageStore
+                    </class>
                 </store>
+
+                <queues>
+                    <minimumAlertRepeatGap>30000</minimumAlertRepeatGap>
+                    <maximumMessageCount>50</maximumMessageCount>
+                    <queue>
+                        <name>queue</name>
+                        <queue>
+                            <exchange>amq.direct</exchange>
+                            <maximumQueueDepth>4235264</maximumQueueDepth>
+                            <!-- 4Mb -->
+                            <maximumMessageSize>2117632</maximumMessageSize>
+                            <!-- 2Mb -->
+                            <maximumMessageAge>600000</maximumMessageAge>
+                            <!-- 10 mins -->
+                        </queue>
+                    </queue>
+                    <queue>
+                        <name>ping</name>
+                        <ping>
+                            <exchange>amq.direct</exchange>
+                            <maximumQueueDepth>4235264</maximumQueueDepth>
+                            <!-- 4Mb -->
+                            <maximumMessageSize>2117632</maximumMessageSize>
+                            <!-- 2Mb -->
+                            <maximumMessageAge>600000</maximumMessageAge>
+                            <!-- 10 mins -->
+                        </ping>
+                    </queue>
+                </queues>
             </test>
         </virtualhost>
-
     </virtualhosts>
     <heartbeat>
         <delay>0</delay>
@@ -132,7 +239,8 @@
         <auto_register>true</auto_register>
     </queue>
 
-    <virtualhosts>${conf}/virtualhosts.xml</virtualhosts>
+    <status-updates>ON</status-updates>
+
 </broker>
 
 

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=813459&r1=813458&r2=813459&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java Thu Sep 10 14:38:25 2009
@@ -147,32 +147,27 @@
             Object thing = i.next();
             if (thing instanceof String)
             {
+                //Open the Virtualhost.xml file and copy values in to main config
                 XMLConfiguration vhostConfiguration = new XMLConfiguration((String) thing);
-                List hosts = vhostConfiguration.getList("virtualhost.name");
-                    for (int j = 0; j < hosts.size(); j++)
-                {
-                    String name = (String) hosts.get(j);
-                    // Add the keys of the virtual host to the main config then bail out
-
-                    Configuration myConf = vhostConfiguration.subset("virtualhost." + name);
-                    Iterator k = myConf.getKeys();
-                    while (k.hasNext())
-                    {
-                        String key = (String) k.next();
-                        conf.setProperty("virtualhosts.virtualhost."+name+"."+key, myConf.getProperty(key));
-                    }
-                    VirtualHostConfiguration vhostConfig = new VirtualHostConfiguration(name, conf.subset("virtualhosts.virtualhost."+name));
-                    _virtualHosts.put(vhostConfig.getName(), vhostConfig);
-                }
-                // Grab things other than the virtualhosts themselves
                 Iterator keys = vhostConfiguration.getKeys();
                 while (keys.hasNext())
                 {
                     String key = (String) keys.next();
-                    conf.setProperty("virtualhosts."+key, vhostConfiguration.getProperty(key));
+                    conf.setProperty("virtualhosts." + key, vhostConfiguration.getProperty(key));
                 }
             }
         }
+
+        List hosts = conf.getList("virtualhosts.virtualhost.name");
+        for (int j = 0; j < hosts.size(); j++)
+        {
+            String name = (String) hosts.get(j);
+            // Add the keys of the virtual host to the main config then bail out
+
+            VirtualHostConfiguration vhostConfig = new VirtualHostConfiguration(name, conf.subset("virtualhosts.virtualhost." + name));
+            _virtualHosts.put(vhostConfig.getName(), vhostConfig);
+        }
+
     }
 
     private void substituteEnvironmentVariables()
@@ -202,7 +197,7 @@
     }
 
     /**
-     * Check the configuration file to see if status updates are enabled.  
+     * Check the configuration file to see if status updates are enabled.
      * @return true if status updates are enabled
      */
     public boolean getStatusUpdatesEnabled()
@@ -466,7 +461,7 @@
     {
         return getConfig().getBoolean("management.enabled", true);
     }
- 
+
     public void setManagementEnabled(boolean enabled)
     {
         getConfig().setProperty("management.enabled", enabled);

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java?rev=813459&r1=813458&r2=813459&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java Thu Sep 10 14:38:25 2009
@@ -54,7 +54,7 @@
 
         _config = new XMLConfiguration();
     }
-    
+
     @Override
     public void tearDown() throws Exception
     {
@@ -727,7 +727,7 @@
         assertEquals(true, config.getQpidNIO()); // From the second file, not
                                                  // present in the first
     }
-    
+
     public void testVariableInterpolation() throws Exception
     {
         File mainFile = File.createTempFile(getClass().getName(), null);
@@ -742,7 +742,7 @@
         out.close();
 
         ServerConfiguration config = new ServerConfiguration(mainFile.getAbsoluteFile());
-        assertEquals("Did not get correct interpolated value", 
+        assertEquals("Did not get correct interpolated value",
                 "foo", config.getManagementKeyStorePath());
     }
 
@@ -783,7 +783,7 @@
         out.write("\t</virtualhosts>\n");
         out.write("</broker>\n");
         out.close();
-        
+
         // Load config
         ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile);
         ApplicationRegistry.initialise(reg, 1);
@@ -795,15 +795,15 @@
 
         TestIoSession iosession = new TestIoSession();
         iosession.setAddress("127.0.0.1");
-        
+
         AMQProtocolSession session = new AMQMinaProtocolSession(iosession, virtualHostRegistry, codecFactory);
         assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
-        
+
         iosession.setAddress("127.1.2.3");
         session = new AMQMinaProtocolSession(iosession, virtualHostRegistry, codecFactory);
         assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
     }
-    
+
     public void testCombinedConfigurationFirewall() throws Exception
     {
         // Write out config
@@ -870,7 +870,7 @@
 
         TestIoSession iosession = new TestIoSession();
         iosession.setAddress("127.0.0.1");
-        
+
         AMQProtocolSession session = new AMQMinaProtocolSession(iosession, virtualHostRegistry, codecFactory);
         assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
     }
@@ -947,22 +947,22 @@
         fileBRandom.setLength(0);
         fileBRandom.seek(0);
         fileBRandom.close();
-        
+
         out = new FileWriter(fileB);
         out.write("<firewall>\n");
         out.write("\t<rule access=\"allow\" network=\"127.0.0.1\"/>");
         out.write("</firewall>\n");
         out.close();
-        
+
         reg.getConfiguration().reparseConfigFile();
-        
+
         assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost));
-        
+
         fileBRandom = new RandomAccessFile(fileB, "rw");
         fileBRandom.setLength(0);
         fileBRandom.seek(0);
         fileBRandom.close();
-        
+
         out = new FileWriter(fileB);
         out.write("<firewall>\n");
         out.write("\t<rule access=\"deny\" network=\"127.0.0.1\"/>");
@@ -970,17 +970,17 @@
         out.close();
         
         reg.getConfiguration().reparseConfigFile();
-        
+
         assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost));
     }
 
     public void testnewParserOutputVsOldParserOutput() throws ConfigurationException
     {
         String configDir = System.getProperty("QPID_HOME")+"/etc";
-        
-        XMLConfiguration oldConfig = new XMLConfiguration(configDir +"/sample-parsed-config.xml");
-        Configuration newConfig = new ServerConfiguration(new File(configDir+"/persistent_config-config-test.xml")).getConfig();
-        
+
+        XMLConfiguration oldConfig = new XMLConfiguration(configDir +"/config-systests-ServerConfigurationTest-Old.xml");
+        Configuration newConfig = new ServerConfiguration(new File(configDir+"/config-systests-ServerConfigurationTest-New.xml")).getConfig();
+
         Iterator xmlKeys = oldConfig.getKeys();
         while (xmlKeys.hasNext())
         {
@@ -988,6 +988,21 @@
             assertEquals("Incorrect value for "+key, oldConfig.getProperty(key), newConfig.getProperty(key));
         }
     }
-    
-    
+
+
+    public void testNoVirtualhostXMLFile() throws Exception
+    {
+        int REGISTRY=1;
+
+        File configFile = new File(System.getProperty("QPID_HOME")+"/etc/config.xml");
+        assertTrue(configFile.exists());
+
+        ApplicationRegistry.initialise(new ConfigurationFileApplicationRegistry(configFile), REGISTRY);
+
+        VirtualHostRegistry virtualHostRegistry = ApplicationRegistry.getInstance(REGISTRY).getVirtualHostRegistry();
+
+        assertEquals("Incorrect virtualhost count", 3 , virtualHostRegistry.getVirtualHosts().size());
+    }
+
+
 }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org