Ich benutze Spring Boot. Ich habe eine Frage bezüglich des Singleton-Verhaltens von Spring-Boot-Bohnen. Ich benutze Bohnen, die Singleton sind. Sie haben also nur eine Instanz pro Anwendung.Spring Boot Klassenverhalten
Aber bezweifle ich habe, ist, dass
a) Anwendung nur 1 Instanz für jede Anforderung erstellen wird oder die Anwendung wird nur 1 Instanz für alle Anfragen erstellen?
b) Ich habe einen Service & eine statische Variable in ihm erstellen. Was nun passiert ist, dass ich in einer Anfrage den Wert & in einer anderen Anfrage ändere, wenn ich die Variable bekomme, bekomme ich die geänderten Werte? Warum das?
c) Gibt es auch dasselbe Verhalten, wenn die Variable nicht statisch ist, nur normale Klassenvariable? Warum das?
d) Was wäre auch der gute Weg, die Daten zu speichern, die anforderungsspezifisch sind, z.B. Lassen Sie uns sagen, dass ich in jeder Anfrage die Transaktions-ID & erstelle, die ich an 10 verschiedenen Stellen in der Anfrage verwenden möchte. Also wie speichere ich es pro Anfrage oder muss ich es überall hin übergeben. Überlegen Sie, ich habe 1000 Anfragen pro Sekunde. Natürlich kann ich keine Variablen auf Klassenebene setzen, sonst werden die Werte jedes Mal überschrieben, wenn die Beans nicht threadsicher sind.
Gibt es einen Nachteil der Verwendung von Scope of Beans als Session? –
@AnkitBansal Ich bin mir nicht ganz sicher, aber was ich aus Ihrer Frage verstehe, ist, dass Sie zu viele Anrufe gleichzeitig machen wollen, und wenn Sie in jeder Sitzung riesige Datenmengen speichern, könnte dies der Fall sein, den Sie möchten zu betrachten –
Nicht große Menge an Daten, aber ja einige Daten.? Zu viele Aufrufe bedeuten, dass ich APIs entwickle, die in einer Website verwendet werden, die zu jeder Zeit mehr als 1000 Benutzer hat. –