Carica i documenti in streaming e aggiungi lo schema HR Training

Featurekamo-shared-library
Spegnimento
11 agosto 2026 alle ore 16:20 UTC
Autore
Kamo
Impegno
939ed24

ImageService acquisisce uploadDocumentStreaming, la controparte in streaming di uploadDocument. Il modulo buffered non può esprimere un grande upload affatto: readInputStream assegna nuovo byte[size], un array Java si apre a Integer. MAX VALUE e MinIOStorageService.upload poi assegna una copia completa SECOND per retry cross-node. Contro un contenitore 2Gi che ha fatto poche centinaia di megabyte il controsoffitto pratico — per questo motivo il tappo multiparte dell'immagine sedeva a 500MB mentre il percorso di connessione di chat, che già streams, corse a 3 GiB. Il nuovo metodo hashes una volta (entrambi digerisce da un buffer), sniffa il tipo MIME PRIMA del hash pass così un file 3 GiB maleslabelled è respinto senza spendere una lettura completa su di esso, e Delega lo storage a un nuovo negozioContentAddressed sovraccarico che accetta digestori pre-computati quindi la fonte viene letta due volte piuttosto che tre volte. Deliberatamente non @Transactional: memorizzazione gigabyte richiede minuti e una transazione tenuta attraverso di esso pins una connessione in piscina. Aggiunge anche com.kamo.z.shared.hr.training — 20 entità, 11 enum e 20 depositi per Modulo di formazione HR, specchio com.kamo.z.shared.hr.legal's conventions: BaseUuidEntity, an esplicito last modified con tocco() perché BaseUuidEntity.dateUpdated è morto, pinned colonnaDefinizione su ogni facoltativo @JoinColumn, e @OnDelete (CASCADE) sul pubblico FKs perché CascadeType.* non emette nulla al DDL. Due partenze dal piano legale, entrambi deliberati: - TrainingAssignmentStatus divide FAILED in FAILED RETAKE ALLOWED (aperto) e FAILED FINAL (chiuso), e REMINDABLE STATES è strettamente più stretto di OPEN STATES in modo da un membro in attesa il grading non è mai inseguito. Indicato da TrainingAssignmentStatusTest. - hr training notification è una tabella reale con un indice di rivendicazione UNICA piuttosto che un Redis SET NX, così "abbiamo detto loro in questa data" sopravvive a FLUSHDB ed è queryable. I repository di risposta e attestazione estendono il marcatore di repository nudo, non JpaRepository, quindi i metodi di cancellazione batch che bypass @PreRemove non esistono sull'interfaccia. Richiede un KamoInitializerService eseguito prima di qualsiasi servizio che legge queste tabelle viene distribuito.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo