Retransmettre des téléchargements de documents et ajouter le schéma de formation aux droits de l'homme

Featurekamo-shared-library
Expédié
11 août 2026 à 16:20 UTC
Auteur
Kamo
Commite
939ed24

ImageService gagne le téléchargementDocumentStreaming, le homologue de streaming de uploadDocument. Le formulaire tampon ne peut pas tout donner un grand nombre de téléchargements: readInputStream allocates Un nouvel octet, un réseau Java monte en avant à Integer.MAX-VALUE, et MinIOStorageService.upload puis alloue une copie complète de DEUXIEME pour le re-tâche inter-noeuds. Contre un conteneur de 2Gi qui a fabriqué un quelques centaines de méga-octets le plafond pratique - c'est pourquoi la tête multi-pistolets d'imagerie était assise à 500MB tandis que le chemin d'attache, qui est déjà en flux, a couru jusqu'à 3 GiB. La nouvelle méthode hachère une fois (les deux digère un tampon), renifle le type de MIME AVANT le un livre de hachage donc un fichier tique mal étiqueté 3 est rejeté sans dépenser une lecture complète dessus, et Destinader à un nouveau magasinContentTous-ressources de surcharges préconçues qui acceptent des digestes précalculés donc la source est lue deux fois plutôt que trois fois. Délibérément non «Transactionnel: stockage gigaoctets prend des minutes et une transaction dans l'ensemble de celui-ci épingle une connexion mise en commun. Il ajoute également la com.kamo.z.shared.hr.training, 20 entités, 11 enums et 20 référentiels pour le Module de formation des ressources humaines, miroir com.kamo.z.shared.hr.legal's conventions: BaseUuidEntity, a explicite last-modified with touch() parce que BaseUuidEntity.dateUpdated est mort, épinglé columnDefinition sur chaque option de JoinColumn, et «OnDelete(CASCADE) sur l'audience FKs Parce que CascadeType n'émet rien à DDL. Deux écarts par rapport au plan juridique, tous deux délibérés: - FormationSsignmentStatus s'est divisé en FAILED-RETAKE-ALLOWED (ouvert) et FAILED-FINAL (fermés), et REMINUPABLES - ÉTATS sont strictement plus étroits que les États OUVERTS-STATES, de sorte qu'un membre en attente Le classement n'est jamais poursuivi. Épinglé par TrainingAssignmentStatusTest. - la notification est un véritable tableau avec un indice des réclamations UNIQUE plutôt qu'un Redis SET NX, donc "nous leur disons à cette date" survit à un FLUSHDB et est interrogeable. Les répertoires de réponses et d'attestations étendent le marqueur de référence nu, et non le JpaRepository, donc les méthodes de suppression de lot qui contournent le terme «PreRemove) n'existent pas sur l'interface. Nécessite un KamoInitializerService exécuté avant tout service qui lit ces tables est déployé.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation