Author: nextgens
Date: 2006-08-15 10:35:40 +0000 (Tue, 15 Aug 2006)
New Revision: 10084

Modified:
   trunk/freenet/src/freenet/clients/http/Spider.java
   trunk/freenet/src/freenet/pluginmanager/PluginManager.java
Log:
delay the loading of the Spider plugin ; disable plugins if an NPE occurs, it 
shouldn't prevent the node from starting

Modified: trunk/freenet/src/freenet/clients/http/Spider.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/Spider.java  2006-08-15 09:46:35 UTC 
(rev 10083)
+++ trunk/freenet/src/freenet/clients/http/Spider.java  2006-08-15 10:35:40 UTC 
(rev 10084)
@@ -93,6 +93,14 @@
        }

        private void startSomeRequests() {
+               try{
+                       Thread.sleep(30 * 1000); // Let the node start up
+               } catch (InterruptedException e){}
+               
+               FreenetURI[] initialURIs = 
core.bookmarkManager.getBookmarkURIs();
+               for (int i = 0; i < initialURIs.length; i++)
+                       queueURI(initialURIs[i]);
+               
                ArrayList toStart = null;
                synchronized (this) {
                        if (stopped) {
@@ -439,9 +447,6 @@
         * @see freenet.plugin.Plugin#startPlugin()
         */
        public void startPlugin() {
-               FreenetURI[] initialURIs = 
core.bookmarkManager.getBookmarkURIs();
-               for (int i = 0; i < initialURIs.length; i++)
-                       queueURI(initialURIs[i]);
                stopped = false;
                Thread starterThread = new Thread("Spider Plugin Starter") {
                        public void run() {

Modified: trunk/freenet/src/freenet/pluginmanager/PluginManager.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginManager.java  2006-08-15 
09:46:35 UTC (rev 10083)
+++ trunk/freenet/src/freenet/pluginmanager/PluginManager.java  2006-08-15 
10:35:40 UTC (rev 10084)
@@ -86,13 +86,17 @@

        private String getConfigLoadString() {
                StringBuffer out = new StringBuffer();
-               Iterator it = getPlugins().iterator();
-               
-               if (it.hasNext())
-                       
out.append(StringArrOption.encode(((PluginInfoWrapper)it.next()).getFilename()));
-               while (it.hasNext())
-                       out.append(StringArrOption.delimiter + 
StringArrOption.encode(((PluginInfoWrapper)it.next()).getFilename()));
-               
+               try{
+                       Iterator it = getPlugins().iterator();
+
+                       if (it.hasNext())
+                               
out.append(StringArrOption.encode(((PluginInfoWrapper)it.next()).getFilename()));
+                       while (it.hasNext())
+                               out.append(StringArrOption.delimiter + 
StringArrOption.encode(((PluginInfoWrapper)it.next()).getFilename()));
+               }catch (NullPointerException e){
+                       Logger.error(this, "error while loading plugins: 
disabling them:"+e);
+                       return "";
+               }
                return out.toString();
        }



Reply via email to