Webservice max. mit 5 Clients möglich

Status
Nicht offen für weitere Antworten.
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:
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
 

Niki

Top Contributor
Eigentlich müssten die Clients 1-5 die IDS gleichzeitig erhalten, der 6. Client dürfte gar nciht in den wait-Pool gelangen sondern müsste sofort zurück gelangen.
Bau einfach mal system.outs ein, und zwar vor wait, und vor notify, und gib die id mit!
 
5

555Nase

Gast
Hallo,

sorry hab ich vergessen zu erwähnen: Natürlich würde ich anzahlClients=6 setzten, wenn ich 6 Clients haben will. Genau dann blebt er hängen. Egal mit wievielen Clients ich mich anmelde, es passiert nichts.

Danke
 

Niki

Top Contributor
probier das ganze einfach mal in einer normalen Klasse ohne WebService aus, bei mir klappts wie erwartet:
Code:
public class Threading {
	
	static int counter = 0;
	static int anzahlClients=5;
	private static final Object MONITOR = new Object();
	public void allOnBoard(int i) {
	        if (i < anzahlClients) {
	        	System.out.println( i + "waiting...");
	            try {
	                MONITOR.wait();
	            } catch (InterruptedException ex) {
	            }
	        } else {
	        	System.out.println(i + "notifying...");
	            MONITOR.notifyAll();
	        }

	    }


	    public int getID() {
	        int num = 0;	       
	        synchronized (MONITOR) {
	            counter++;
	            num = counter;
	            this.allOnBoard(num);
	        }

	        return num;

	    }

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		final Threading t1 = new Threading();
		final Threading t2 = new Threading();
		final Threading t3 = new Threading();
		final Threading t4 = new Threading();
		final Threading t5 = new Threading();
		
		new Thread(new Runnable(){
			public void run() {
				
				System.out.println("t1: " + t1.getID());				
				
			}
		}).start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		new Thread(new Runnable(){
			public void run() {				
				System.out.println("t2: " + t2.getID());
				
			}
		}).start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		new Thread(new Runnable(){
			public void run() {
				System.out.println("t3: " + t3.getID());
				
			}
		}).start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		new Thread(new Runnable(){
			public void run() {				
				System.out.println("t4: " + t4.getID());
				
			}
		}).start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		new Thread(new Runnable(){
			public void run() {				
				System.out.println("t5: " + t5.getID());
				
			}
		}).start();
		

	}

}
 
5

555Nase

Gast
Vielen Dank, Dein Beispiel klappt auch bei mir, auch mit 6 Threads (sobald die korrekte Anzahl erreicht ist, gibt er notify aus) . Aber wieso läuft es denn im AppServer nicht (auch bei 7,8,9 usw Clients nicht).

- Gibt es vielleicht im J2EE oder in der AppServer config ein max. Wert v. Threads?
- Woran kann es sonst liegen?

Schon mal tausend Dank im voraus
 
5

555Nase

Gast
counter ist
Code:
private static
 

Niki

Top Contributor
Kann sein dass der Server nur n-Anfragen gleichzeitig bearbeitet. Setz einfach mal die anzahl auf 2 oder 3 und schau was passiert. Wenn es funktioniert weißt du immerhin schon, dass es nicht an deinem Code liegen kann. Dann wird es hoffentlich irgendwo ein Property geben, wo man die maximale Anzahl der Verbindungen erhöhen kann.
 

Niki

Top Contributor
Dann schätze ich liegt es an irgend einer Einstellung. Gibt es in der web.xml ein Property wo man die Anzahl der maximalen Verbindungen setzen kann?
 
5

555Nase

Gast
Hallo,

vielen Dank. Tatsächlich gab es hier in den zig config files einen Eintrag max-thraeds=5, sorry...aber ich hätte nie gedacht, daß man einen Server auf 5 thraeds beschränken könnte...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Axis2 Webservice mit Client Zertifikat Authentifizierung Netzwerkprogrammierung 3
S Fragen zu Java Webservice mit Axis2 Netzwerkprogrammierung 0
R per Webservice mit GLS kommunizieren Netzwerkprogrammierung 2
L HTTP Restful Webservice Respone mit Null Body Netzwerkprogrammierung 3
H HTTP Rest Webservice mit Swagger Netzwerkprogrammierung 3
L Zugriffprobleme Client - Webservice AspenTechnology Netzwerkprogrammierung 0
T HTTP Eintragen in Webservice Netzwerkprogrammierung 1
S Webservice - Server Netzwerkprogrammierung 0
O Webservice: Telefonbuch (DB) Netzwerkprogrammierung 10
M Einfaches REST Webservice Beispiel Netzwerkprogrammierung 5
C Android: Json-POST Request zu REST Webservice Netzwerkprogrammierung 2
R Webservice und Bilder Netzwerkprogrammierung 29
C Webservice Frage Netzwerkprogrammierung 2
T Webservice als Client aufrufen Netzwerkprogrammierung 2
R Threads mit einem WebService Netzwerkprogrammierung 4
M Map über Webservice übertragen Netzwerkprogrammierung 3
K Programm als Webservice laufen lassen Netzwerkprogrammierung 5
S WebService, 4-stelliger String (Jahr) als Calendar Netzwerkprogrammierung 5
K Webservice: JAX-WS mit Tomcat5.x Netzwerkprogrammierung 2
K Webservice (Annotation) Netzwerkprogrammierung 2
H ArrayList via WebService übertragen Netzwerkprogrammierung 3
R Java webservice Serverpush Netzwerkprogrammierung 4
N NullPointerException in WebService Netzwerkprogrammierung 4
J Stubs für SOAP-Webservice generieren. Ich bekomme es einfach nicht hin... Netzwerkprogrammierung 3
O Webservice ohne Eclipse laufen lassen Netzwerkprogrammierung 3
C Webservice, ArrayList übergeben Netzwerkprogrammierung 3
G .Net Webservice in Java ansprechen Netzwerkprogrammierung 3
N Von WebService auf anderen WebService zugreifen? Netzwerkprogrammierung 8
K Axis2 Webservice Netzwerkprogrammierung 7
G Problem mit Webservice Netzwerkprogrammierung 5
S Google Search Webservice mit Apache Axis realisieren? Netzwerkprogrammierung 2
C Webservice von Java-Application aufrufen Netzwerkprogrammierung 3
G Webservice: Xml-Rpc: problem mit 2 webservices Netzwerkprogrammierung 3
G Webservice gibt das falsche aus - Wieso Netzwerkprogrammierung 5
M Socket Senden an alle verbundenen Clients Netzwerkprogrammierung 3
M Socket Netzwerk Übertragung zwischen 4 Clients Netzwerkprogrammierung 2
G Gui von 2 Clients Synchronisieren Netzwerkprogrammierung 2
F Schulprojekt erweitern - Online Quiz mit mehreren Clients - Was benötige ich ? Netzwerkprogrammierung 0
P Socket Viele Clients bedienen mit Vert.x Netzwerkprogrammierung 9
Aruetiise Socket Mehrere Clients Netzwerkprogrammierung 4
J Framework mehrere Clients/ Server-Broadcast/oracle XE/ XML Netzwerkprogrammierung 1
V Server / mehrere Clients / MySQL / Konzept Netzwerkprogrammierung 2
M MultiClient Server - Senden an alle Clients Netzwerkprogrammierung 8
G Multiple Clients and one Server --> java.lang.NullPointerException Netzwerkprogrammierung 1
M Teilnehmerliste vom Server auch an alle Clients senden Netzwerkprogrammierung 0
Luk10 Server / Client: Clients speichern! Netzwerkprogrammierung 6
Z Socket [Chatprogramm] Mehrere Clients an einen Server Netzwerkprogrammierung 10
C Socket Identifikation des clients nach der accept() Methode Netzwerkprogrammierung 2
D Mehrere Clients über Java-Sockets Netzwerkprogrammierung 13
cedi Socket Mehrere Clients an einem Server Netzwerkprogrammierung 4
A Socket Server: Message an verschiedene Clients senden Netzwerkprogrammierung 4
B Socket Liste von clients - multicast Netzwerkprogrammierung 4
M Anzahl Clients aus Start- und Endadr. berechnen Netzwerkprogrammierung 54
R Viele Clients ein Server Netzwerkprogrammierung 8
borobudur Synchronisation von Clients Netzwerkprogrammierung 10
S Socket nach anderen clients im netzwerk suchen Netzwerkprogrammierung 3
L Socket Chat Server für mehrere Clients Netzwerkprogrammierung 7
L RMI Informationen über die Clients herausfinden Netzwerkprogrammierung 5
H Neues NIO problem nachricht an alle clients Netzwerkprogrammierung 3
D Probleme bei mehreren Clients uns Senden von Messages Netzwerkprogrammierung 16
P Socket Datei von Client zum Server übertragen --> Weiterleitung an Clients Netzwerkprogrammierung 16
F Erhalten und Senden von Nachrichten anhand des Indexes des Clients Netzwerkprogrammierung 19
H Hilfe bei multiplen Clients Netzwerkprogrammierung 7
cowabunga1984 Transferierte Datenmenge eines SOAP Clients (JAX-WS) anzeigen Netzwerkprogrammierung 2
T Administration von Software auf Clients im Netzwerk Netzwerkprogrammierung 6
D Netzwerkprobleme bei mehreren Clients Netzwerkprogrammierung 4
F Peer to Peer Verbindung zwischen mehreren Clients? Netzwerkprogrammierung 8
D Clients sollen mehrere Sessions starten Netzwerkprogrammierung 11
A Server mit mehreren Clients Netzwerkprogrammierung 2
G Nachricht an mehrere Clients schicken Netzwerkprogrammierung 10
M clients untereinander kommunizieren Netzwerkprogrammierung 2
A RMI: Wieviele Clients können sich gleichzeitig anmelden? Netzwerkprogrammierung 34
B Rmi Kommunikation Server zu mehreren Clients? Netzwerkprogrammierung 3
T Am RMI-Server: IP des Clients ermitteln? Netzwerkprogrammierung 2
J SecurityManager - Server-Zugriff nur von bestimmten Clients? Netzwerkprogrammierung 2
T RMI - Probleme beim Starten des Clients Netzwerkprogrammierung 4
T Chat mit mehreren Clients Netzwerkprogrammierung 3
G Anzahl verbundener Clients zu einem FTP-Server ermitteln? Netzwerkprogrammierung 4
G Server an mehrere Clients Netzwerkprogrammierung 15
D Netzwerk Betrachtung mit vielen Clients Netzwerkprogrammierung 2
G Nachricht von server an alle clients senden Netzwerkprogrammierung 6
I IP Adresse des Clients einer Socket Verbindung Netzwerkprogrammierung 2
S Server mit mehreren Clients Nachrichten austauschen Netzwerkprogrammierung 6
M JAX-WS unter Java 17 plötzlich nicht mehr möglich Netzwerkprogrammierung 5
J jsch copy ist das möglich Netzwerkprogrammierung 11
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
F HTTP Netzwerkverbindung mit jar nich möglich Netzwerkprogrammierung 2
P FTP Server mit Java, möglich ? Netzwerkprogrammierung 4
B FTP Datei auslesen ohne einloggen möglich? Netzwerkprogrammierung 19
M Senden von Daten nicht direkt möglich? Netzwerkprogrammierung 6
N SFTP apache keine Verbindungaufbau möglich Netzwerkprogrammierung 6
A UCP Connection über Proxy möglich? Netzwerkprogrammierung 7
E DatagramSocket rausfinden ob recive möglich ohne zu blocken Netzwerkprogrammierung 10
ABstraCT Applet multipler port Zugriff möglich ? Netzwerkprogrammierung 5
S RMI-Problem: Nur ein Server start möglich. Netzwerkprogrammierung 40
D Was für Verbindungen mit Socket möglich? Netzwerkprogrammierung 2
M Ist es möglich die DSL-Router Verbindung zu unterbrechen? Netzwerkprogrammierung 5
C 2 BufferedReader als Listener pro Socket (NICHT) möglich? Netzwerkprogrammierung 2
G Chat zwischen applets: möglich? Netzwerkprogrammierung 2
K Chat: Nur 1 Verbindung zum Server möglich :( Netzwerkprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben