Streamen Sie Dokument-Uploads und fügen Sie das HR-Training-Schema hinzu

Featurekamo-shared-library
Verschifft
11. August 2026 um 16:20 UTC
Autor
Kamo
Ausschuss
939ed24

ImageService gewinnt UploadDocumentStreaming, das Streaming-Pendant von uploadDokument. Das gepufferte Formular kann überhaupt keinen großen Upload ausdrücken: readInputStream allocates new byte[size], ein Java-Array top outet bei Integer.MAX_VALUE und MinIOStorageService.upload legt dann eine ZWEITE Vollkopie für Cross-Node-Retry zu. Gegen einen 2Gi-Container, der ein ein paar hundert Megabyte die praktische Decke - weshalb die bildgebende mehrteilige Kappe saß bei 500MB während der Chat-Anhängepfad, der bereits streamt, auf 3 GiB lief. Die neue Methode hat einmal (beide verdaut einen Puffer), schnüffelt den MIME-Typ VOR der hash pass so eine falsch etikettierte 3 GiB-Datei abgelehnt wird, ohne eine vollständige Lektüre auf sie, und Delegierte Lagerung zu einem neuen StoreContentAddressed Überlastung, die vorbestellte Verdauungen akzeptiert so wird die Quelle zweimal statt dreimal gelesen. Bewusst @Transaktional: lagern Gigabytes dauert Minuten und eine Transaktion über sie gehalten Pins eine gepoolte Verbindung. Auch com.kamo.z.shared.hr.training hinzugefügt 20 Einheiten, 11 enums und 20 Repositories für die HR-Trainingsmodul, Spiegelbild com.kamo.z.shared.hr.legal's Conventions: BaseUuidEntity, an explizit last_modified with touch() because BaseUuidEntity.dateUpdated ist tot, angepinnt columnDefinition auf jeder optionalen @JoinColumn und @OnDelete(CASCADE) auf dem Publikum FKs weil CascadeType.* bei DDL nichts aussendet. Zwei Abweichungen von der rechtlichen Blaupause, beide bewusst: - TrainingAssignmentStatus teilt FAILED in FAILED_RETAKE_ALLOWED (offen) und FAILED_FINAL (geschlossen), und REMINDABLE_STATES ist streng schmaler als OPEN_STATES, so dass ein Mitglied wartet Die Einstufung wird nie gejagt. Pinned by TrainingAssignmentStatusTest. - hr_training_notification ist eine echte Tabelle mit einem UNIQUE-Anspruchsindex statt eines Redis SET NX, also "haben wir es ihnen an diesem Datum gesagt" überlebt einen FLUSHDB und ist abrufbar. Antwort und Bescheinigung Repositorys erweitern die nackte Repository Marker, nicht JpaRepository, so die Batch-Löschmethoden, die @PreRemove umgehen, existieren nicht auf der Schnittstelle. Erfordert einen KamoInitializerService, bevor ein Dienst, der diese Tabellen liest, eingesetzt wird.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen