display and calculation of recommended minimum space
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 27 Sep 2011 12:32:57 +0000 (12:32 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 27 Sep 2011 12:32:57 +0000 (12:32 +0000)
src/main/java/eu/etaxonomy/cdm/server/Bootloader.java
src/main/webapp/manage/index.jsp

index 2b40de784f0cb3482573a9775538971df4b41ce6..e2012cb52772bb96b31e9d44e8ae2ade42db9b9e 100644 (file)
@@ -567,7 +567,7 @@ public final class Bootloader {
     private void verifyMemoryRequirement(String memoryName, long requiredSpaceServer, long requiredSpacePerInstance, long availableSpace) {
 
 
-        long recommendedMinimumSpace = calculateRecommendedMinimumSpace(requiredSpaceServer, requiredSpacePerInstance);
+        long recommendedMinimumSpace = recommendedMinimumSpace(requiredSpaceServer, requiredSpacePerInstance, null);
 
         if(recommendedMinimumSpace > availableSpace){
 
@@ -585,7 +585,7 @@ public final class Bootloader {
             int i=0;
             for(CdmInstanceProperties instanceProps : configAndStatusSet){
                 i++;
-                if(i * requiredSpacePerInstance > availableSpace){
+                if(recommendedMinimumSpace(requiredSpaceServer, requiredSpacePerInstance, i)  > availableSpace){
                     instanceProps.setStatus(Status.disabled);
                     instanceProps.getProblems().add("Disabled due to: " + message);
                 }
@@ -596,10 +596,14 @@ public final class Bootloader {
     /**
      * @param requiredServerSpace
      * @param requiredSpacePerIntance
+     * @param numOfInstances may be null, the total number of instances found in the current configuration is used in this case.
      * @return
      */
-    public long calculateRecommendedMinimumSpace(long requiredServerSpace, long requiredSpacePerIntance) {
-        return (configAndStatusSet.size() * requiredSpacePerIntance) + requiredServerSpace;
+    public long recommendedMinimumSpace(long requiredServerSpace, long requiredSpacePerIntance, Integer numOfInstances) {
+        if(numOfInstances == null){
+            numOfInstances = configAndStatusSet.size();
+        }
+        return (numOfInstances * requiredSpacePerIntance) + requiredServerSpace;
     }
 
     /**
index 9964401acff623a74e0570f4ea5a0a5e85ffd2a0..9ef3704fe68c14e531c9e0a5f280ce77d290831a 100644 (file)
@@ -71,8 +71,8 @@ Bootloader bootloader = Bootloader.getBootloader();
                   <h2 class="title block-title pngfix">Server Status</h2>
                   <div class="block" id="status">
                      <%
-                       printMemoryUsage(JvmManager.getHeapMemoryUsage(), bootloader.calculateRecommendedMinimumSpace(Bootloader.HEAP_CDMSERVER, Bootloader.HEAP_PER_INSTANCE), "HeapUsage", "100%", "#F48B65", "#65B1F4", out);
-                                          printMemoryUsage(JvmManager.getPermGenSpaceUsage(), bootloader.calculateRecommendedMinimumSpace(Bootloader.PERM_GEN_SPACE_CDMSERVER, Bootloader.PERM_GEN_SPACE_PER_INSTANCE), "PermGenSpaceUsage", "100%","#F48B65", "#65B1F4", out);
+                       printMemoryUsage(JvmManager.getHeapMemoryUsage(), bootloader.recommendedMinimumSpace(Bootloader.HEAP_CDMSERVER, Bootloader.HEAP_PER_INSTANCE, null), "HeapUsage", "100%", "#F48B65", "#65B1F4", out);
+                       printMemoryUsage(JvmManager.getPermGenSpaceUsage(), bootloader.recommendedMinimumSpace(Bootloader.PERM_GEN_SPACE_CDMSERVER, Bootloader.PERM_GEN_SPACE_PER_INSTANCE, null), "PermGenSpaceUsage", "100%","#F48B65", "#65B1F4", out);
                      %>
                   </div>
                 </div>