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