DarthShader
Erfahrenes Mitglied
Hallo zusammen,
ich habe eine Frage bezüglich Spring und dem veröffentlichen von Services via Spring-RPC. Wohlmöglich ist dies eine ziemliche Anfängerfrage, aber ich konnte darüber keine Informationen finden.
Nehmen wir an, ich möchte einen kleinen Server schreiben, der Spring verwendet. Über den Spring Context lege ich fest, dass es einen WriteHello - Service gibt, mit der Methode "WriteHello.write()". Clients können dann über RPC die "write()" MEthode des Servers aufrufen. Das funktioniert auch soweit, also kein großes Problem.
Meine Verständnisfrage geht dahin, dass ich nicht weiß, was passiert, wenn mehrere bzw. ganz viele Clients nun auf diese Methode zugreifen.
1. Der Port des RPC Aufrufs bzw. der Port auf dem der WriteHello-Service läuft, ist ja belegt. Beut ein Client nun eine Verbindung auf, so wird für die weitere Kommunikation zwischen Server und Client ja ein anderer Port genutzt, sodass der Listener-Port des Servers wieder frei wird, um weitere Verbindungen aufzunehmen, ist das so korrekt?
2. Abgesehen von den Ports, was passiert, wenn 2 Clients nun "WriteHello.write()" quasi "gleichzeitig" aufrufen wollen (was ja sicher passieren kann, wenn sehr viele Clients Verbindung aufnehmen). Erstellt Spring dann eine 2. Instanz der Implementierung von "WriteHello", oder werden alle Aufrufe auf ein und derselben Bean (also immer nur eine Instanz von WriteHello) geleitet? Falls letzteres der Fall ist, werden die Anfragen der Clients an den Server dann sequenziell auf dem Server abgearbeitet, es entstehen "von alleine" also keine Threads?
Über eine Antwort würde ich mich sehr freuen
Vielen Dank!
Ben
ich habe eine Frage bezüglich Spring und dem veröffentlichen von Services via Spring-RPC. Wohlmöglich ist dies eine ziemliche Anfängerfrage, aber ich konnte darüber keine Informationen finden.
Nehmen wir an, ich möchte einen kleinen Server schreiben, der Spring verwendet. Über den Spring Context lege ich fest, dass es einen WriteHello - Service gibt, mit der Methode "WriteHello.write()". Clients können dann über RPC die "write()" MEthode des Servers aufrufen. Das funktioniert auch soweit, also kein großes Problem.
Meine Verständnisfrage geht dahin, dass ich nicht weiß, was passiert, wenn mehrere bzw. ganz viele Clients nun auf diese Methode zugreifen.
1. Der Port des RPC Aufrufs bzw. der Port auf dem der WriteHello-Service läuft, ist ja belegt. Beut ein Client nun eine Verbindung auf, so wird für die weitere Kommunikation zwischen Server und Client ja ein anderer Port genutzt, sodass der Listener-Port des Servers wieder frei wird, um weitere Verbindungen aufzunehmen, ist das so korrekt?
2. Abgesehen von den Ports, was passiert, wenn 2 Clients nun "WriteHello.write()" quasi "gleichzeitig" aufrufen wollen (was ja sicher passieren kann, wenn sehr viele Clients Verbindung aufnehmen). Erstellt Spring dann eine 2. Instanz der Implementierung von "WriteHello", oder werden alle Aufrufe auf ein und derselben Bean (also immer nur eine Instanz von WriteHello) geleitet? Falls letzteres der Fall ist, werden die Anfragen der Clients an den Server dann sequenziell auf dem Server abgearbeitet, es entstehen "von alleine" also keine Threads?
Über eine Antwort würde ich mich sehr freuen
Vielen Dank!
Ben