Teilen Sie die Notizen, die Sie für sich selbst gemacht haben.
--Automatischer Wiederholungsversuch, wenn die Wahrscheinlichkeit groß ist, dass er sich in wenigen Minuten erholt hat ――In erster Linie Drosselung bei übermäßiger Kommunikation Wenn Sie die Cloud verwenden, müssen Sie automatische Wiederholungsversuche und Drosselungen berücksichtigen.
CNAME wechselt nach dem Failover → Daher startet die Anwendung ohne Erlaubnis.
Standardmäßig werden DNS-Suchergebnisse für die Lebensdauer der JVM zwischengespeichert → Selbst wenn der CNAME umgeschaltet wird, versteht die JVM dies aufgrund des Caches nicht "-Dnetowrkaddress.cache.ttl = 3" Legen Sie die Anzahl der Sekunden von der Standardeinstellung -1 fest
Spring Retry
AOP ist etwas langsamer. Es ist einfacher und zuverlässiger, RetryTemplate explizit zu verwenden.
Anwendung ↓ ← Wenn dies fehlschlägt, versuchen Sie es bis zu XX Mal. Es ist auch möglich, das Intervall exponentiell zu wiederholen Verbindungspool ↓ JDBC-Treiber ↓ DB
――Selbst der Fehler auf der anderen Seite der Cloud in 90 Sekunden behoben wird, wird Ihre davon abhängige Anwendung nicht unbedingt in 90 Sekunden wiederhergestellt.
Das Framework wurde vor einem Jahr auf Spring migriert. Migriert von Seasar, Struts, JSP.
Der größte Teil der Arbeit besteht darin, den Controller und die Vorlage neu zu schreiben.
Großer Unterschied
Der Frühling ist durcheinander
Legen Sie vorerst die Lieferregeln innerhalb des Teams fest Wenn Sie im Voraus eine Helper-Klasse erstellen, ist die Vereinheitlichung einfacher.
Beachten Sie, dass der Spring-Controller standardmäßig Singleton ist Der Zeitpunkt der Instanzerstellung der Controller-Klasse kann mithilfe der Annotation @Scope geändert werden. (Standard ist Singlton)
Vorsichtsmaßnahmen / Stolperpunkte
--Beachten Sie, dass die Form-Klasse Getter / Setter für die Formularbindung mit dem Feld th: und dem Objekt th: benötigt.
Für die Sicherheit im Frühling Der Controller empfängt keine Parameter. Definieren Sie einfach die gewünschte Klasse als Bean.
Warum ist es schwer zu verstehen
――Weil der Prozess ausgeblendet ist
Was sollen wir dann tun?
--Spring-Teilprojekt
Bei vielen Produkten ziemlich kompliziert
Erklärung basierend auf der herkömmlichen Servlet-Version Filter werden als Beans verwaltet. logging.level.org.springframework.security = Debug in application.properties Dann können Sie es im Protokoll überprüfen.
Es ist eine gute Idee, aus dem Filtercode zu lesen.
Warum ThreadLocal verwenden? Weil Sie von überall im laufenden Thread auf die Benutzerinformationen im SecurityContext zugreifen können
Was der LogoutHandler tut SecurityContextLogoutHandler wird immer zuletzt ausgeführt
Was ist Authentication Manager? Schnittstelle zur Authentifizierungsverarbeitung
Spring Security ist kompliziert, aber das Lesen von Code macht Spaß
https://github.com/spring-projects/spring-security
Unter den Geschichten, die ich hörte, war die Geschichte der zweiten Person, Mr. Kinoshita, sehr beeindruckend, weil ich sehr oft damit sympathisieren konnte. Besonders zusammenfassend
War sehr sympathisch.
Außerdem hatte ich noch nie von Spring Retry gehört, und es war gut zu erkennen, dass Spring Security, das ich für schwierig hielt, auch für andere Menschen schwierig ist.
Recommended Posts