Author: noel
Date: Sat Apr 29 10:54:09 2006
New Revision: 398213

URL: http://svn.apache.org/viewcvs?rev=398213&view=rev
Log:
Allow DNS cache size to be configured.  Share cache between DNSServer and 
dnsjava default handling.

Modified:
    james/server/trunk/src/conf/james-config.xml
    james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java

Modified: james/server/trunk/src/conf/james-config.xml
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/conf/james-config.xml?rev=398213&r1=398212&r2=398213&view=diff
==============================================================================
--- james/server/trunk/src/conf/james-config.xml (original)
+++ james/server/trunk/src/conf/james-config.xml Sat Apr 29 10:54:09 2006
@@ -558,6 +558,9 @@
       <!-- and set the DNS servers manually in the <servers> section -->
       <autodiscover>true</autodiscover>
       <authoritative>false</authoritative>
+
+      <!-- Maximum number of entries to maintain in the DNS cache -->
+      <maxcachesize>50000</maxcachesize>
    </dnsserver>
 
    <remotemanager>

Modified: james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java?rev=398213&r1=398212&r2=398213&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java 
(original)
+++ james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java Sat 
Apr 29 10:54:09 2006
@@ -74,6 +74,12 @@
     private Cache cache;
 
     /**
+     * Maximum number of RR to cache.
+     */
+
+    private int maxCacheSize = 50000;
+
+    /**
      * Whether the DNS response is required to be authoritative
      */
     private int dnsCredibility;
@@ -127,6 +133,8 @@
         // TODO: Check to see if the credibility field is being used 
correctly.  From the
         //       docs I don't think so
         dnsCredibility = authoritative ? Credibility.AUTH_ANSWER : 
Credibility.NONAUTH_ANSWER;
+
+        maxCacheSize = (int) configuration.getChild( "maxcachesize" 
).getValueAsLong( maxCacheSize );
     }
 
     /**
@@ -164,6 +172,8 @@
         }
 
         cache = new Cache (DClass.IN);
+        cache.setMaxEntries(maxCacheSize);
+        Lookup.setDefaultCache(cache, DClass.IN);
         
         getLogger().debug("DNSServer ...init end");
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to