Save This Page
Home » activemq-parent-5.3.1-source-release » org.apache » activemq » usage » [javadoc | source]
    1   /**
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *      http://www.apache.org/licenses/LICENSE-2.0
   10    *
   11    * Unless required by applicable law or agreed to in writing, software
   12    * distributed under the License is distributed on an "AS IS" BASIS,
   13    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    * See the License for the specific language governing permissions and
   15    * limitations under the License.
   16    */
   17   package org.apache.activemq.usage;
   18   
   19   import org.apache.activemq.kaha.Store;
   20   
   21   /**
   22    * Used to keep track of how much of something is being used so that a
   23    * productive working set usage can be controlled. Main use case is manage
   24    * memory usage.
   25    * 
   26    * @org.apache.xbean.XBean
   27    * @version $Revision: 1.3 $
   28    */
   29   public class TempUsage extends Usage<TempUsage> {
   30   
   31       private Store store;
   32   
   33       public TempUsage() {
   34           super(null, null, 1.0f);
   35       }
   36   
   37       public TempUsage(String name, Store store) {
   38           super(null, name, 1.0f);
   39           this.store = store;
   40       }
   41   
   42       public TempUsage(TempUsage parent, String name) {
   43           super(parent, name, 1.0f);
   44           this.store = parent.store;
   45       }
   46   
   47       protected long retrieveUsage() {
   48           if (store == null) {
   49               return 0;
   50           }
   51           return store.size();
   52       }
   53   
   54       public Store getStore() {
   55           return store;
   56       }
   57   
   58       public void setStore(Store store) {
   59           this.store = store;
   60           onLimitChange();
   61       }
   62   }

Save This Page
Home » activemq-parent-5.3.1-source-release » org.apache » activemq » usage » [javadoc | source]