# howto debug rmi 100%CPU Auslastung



## afurtenbacher (6. April 2007)

Hallo zusammen!

Ich bin neu bei RMI und habe mir einen kleinen Server geschrieben. Bis vor kurzem hat der auch tadellos funktioniert, doch nun habe ich 100% CPU Auslastung und weiß nicht woher. Die Methode ist wirklich nix tragisches.


```
public static void startServer() {
//		ProgressBar bar = new ProgressBar(new JFrame());
//		bar.setVisible(true);
		MainServerGui.setStatusLeiste("Server wird gestartet");
		if (rennt) {
			new Popup("info","Server läuft bereit","Der Server läuft bereits\n" +
					"Die Aktion wird daher abgebrochen");
		}
		else {
			Logger.addEntry("[INFO] Server wird gestartet");
//			bar.setValue(10);
			if (Connect.getConnection() == null) {
				Logger.addEntry("[ERROR] Konnte keine Verbindung mit der Datenbank herstellen");
			}
			else {
//				bar.setValue(20);
				try {
					if (System.getSecurityManager() == null) System.setSecurityManager ( new RMISecurityManager() );
					if (reg!=null) {
						UnicastRemoteObject.unexportObject(reg, true);
					}
					reg = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
//					bar.setValue(40);
					Logger.addEntry("[INFO] registry created");
			    }
			    catch (RemoteException e) {
			    	Logger.addEntry("[ERROR] RemoteException bei Serverstart: "+e.toString());
			    	if (Configurator.isDebug()) e.printStackTrace();
			    }

			    try {
			    	ReadDataImpl readdata = new ReadDataImpl();
			    	InsertDataImpl insertdata = new InsertDataImpl();
			    	ToolsImpl tools = new ToolsImpl();
			    	Logger.addEntry("[INFO] Binding ReadData");
			    	Naming.rebind("readdata", readdata);
//			    	bar.setValue(60);
			    	Logger.addEntry("[INFO] Binding InsertData");
			    	Naming.rebind("insertdata", insertdata);
//			    	bar.setValue(80);
			    	Logger.addEntry("[INFO] Binding Tools");
			    	Naming.rebind("tools", tools);
//			    	bar.setValue(100);
			 	    Logger.addEntry("[INFO] Server gestartet");
//			 	    bar.setVisible(false);
			 	    rennt = true;
			 	    MainServerGui.setStatusLeiste("Server gestartet");
			    }
			    catch (MalformedURLException e) {
			    	Logger.addEntry("[ERROR] Fehler beim Starten des Servers: MalformedURLException in class \"ServerControl\" :"+e.toString());
			    	if (Configurator.isDebug()) e.printStackTrace();
			    }
			    catch (RemoteException e) {
			    	Logger.addEntry("[ERROR] Fehler beim Starten des Servers: RemoteException in class \"ServerControl\" :"+e.toString());
			    	if (Configurator.isDebug()) e.printStackTrace();
			    }
			}
		}
	}
```

Kann mir jemand verraten wie ich das teil debuggen kann um zu erfahren was davon so viel CPU braucht?

Danke,
Andreas


----------

