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();
}