5
555Nase
Gast
Hallo,
folgendes: Ich habe einen Webservice geschrieben, der jedem Client eine ID zurückgibt, allerdings erst dann wenn sich anzahlClients gleichzeitig angemeldet haben. Das ganze sieht so aus:
Sobald 5 Clients den gleichzeitiig Webservice aufrufen, kriegen diese ihre IDs zurück, der Reihenfolge des Aufrufs nach. Mein Problem: Es geht nur bis max 5 Clients, ab dem 6. Client bleibt er hängen, bzw. MONITOR.notifyAll() wird wohl nicht mehr ausgeführt.
Kann jemand helfen? Ich nutze Glassfishv2 als AppServer
Danke
folgendes: Ich habe einen Webservice geschrieben, der jedem Client eine ID zurückgibt, allerdings erst dann wenn sich anzahlClients gleichzeitig angemeldet haben. Das ganze sieht so aus:
Code:
static int anzahlClients=5;
private static final Object MONITOR = new Object();
public void AllOnBoard(int i) {
if (i < NewWebServiceTest.anzahlClients) {
try {
MONITOR.wait();
} catch (InterruptedException ex) {
}
} else {
MONITOR.notifyAll();
}
}
@WebMethod(operationName = "ID")
public int ID() {
int num = 0;
//TODO write your implementation code here:
synchronized (MONITOR) {
counter++;
num = counter;
this.AllOnBoard(num);
}
return num;
}
Sobald 5 Clients den gleichzeitiig Webservice aufrufen, kriegen diese ihre IDs zurück, der Reihenfolge des Aufrufs nach. Mein Problem: Es geht nur bis max 5 Clients, ab dem 6. Client bleibt er hängen, bzw. MONITOR.notifyAll() wird wohl nicht mehr ausgeführt.
Kann jemand helfen? Ich nutze Glassfishv2 als AppServer
Danke