Seite 1 von 1

MundoCore: Mehrere Services starten

Verfasst: 27. Apr 2009 11:16
von Alp.traum
Ich habe irgendwie keinen Erfolg beim Starten mehrerer Services in der main. Folgender Codeschnipsel ist gegeben:

Code: Alles auswählen

class StockTicker {
	static private String[] symbolNames = {"TK","MND","PUB","SUB"};
	static private StockTickerService[] stockTickerService = new StockTickerService[symbolNames.length];
	
	public static void main(String args[]) throws Exception {
		// Mundo.setConfig(NodeConf.getMap());
		Mundo.init();

		int i = 0;
		for (String name: symbolNames) {
			stockTickerService[i] = new StockTickerService(name);
			Mundo.registerService(stockTickerService[i]);
			stockTickerService[i].run();
			i++;
		}

		Mundo.shutdown();
		System.exit(0);
	}
}
Jeder Service sendet pro Sekunde eine Message an den Channel. Also müssten immer vier Messages gesendet werden. Wird aber nicht, sondern nur eine für "TK". Mach ich hier was falsch?

Re: MundoCore: Mehrere Services starten

Verfasst: 27. Apr 2009 11:27
von nlochschmidt
Höchstwahrscheinlich kommt dein Programm nie mehr aus dem ersten Aufruf von stockTickerService.run() zurück und dem entsprechend wird auch nur stockTickerService[0].run() gestartet.

Mein Typ. verwende einen StockTickerService der intern vier Channels beschickt, oder starte mehrere einzelne Instanzen mit mehreren manuellen Aufrufen. Ich habe die erste Variante implementiert.

Greetz
Niklas

Re: MundoCore: Mehrere Services starten

Verfasst: 27. Apr 2009 12:17
von Alp.traum
Ok macht natürlich Sinn. Danke für den Tipp :)