2 points par click 2026-01-04 | Aucun commentaire pour le moment. | Partager sur WhatsApp

J’ai trouvé que Durable Streams était un excellent projet, alors j’en ai aussi créé une implémentation dans mon langage principal, Java.

Principales caractéristiques

  • Dépendance minimale à des bibliothèques spécifiques : la structure a été conçue pour dépendre le moins possible d’un framework ou d’une bibliothèque en particulier, tout en restant hautement personnalisable et en fournissant une implémentation par défaut.
  • Optimisé pour les virtual threads : utilisable à partir de Java 17, mais l’utilisation avec les virtual threads est recommandée à partir de Java 21.
  • Intégration avec les principaux frameworks JVM : des adaptateurs sont fournis pour Spring MVC, Spring WebFlux, Micronaut, Quarkus et Ktor. Les conversions requête/réponse adaptées à chaque framework ainsi que le traitement SSE sont intégrés, ce qui permet une utilisation immédiate avec seulement quelques lignes de configuration.
  • Conformité au protocole validée : les 131 tests de conformité fournis par le dépôt durable-streams ont tous été réussis.

Points d’attention

Le stockage basé sur le système de fichiers utilise Rocksdb pour conserver les métadonnées. Rocksdb est récemment passé d’un modèle fournissant un fat jar incluant les binaires de tous les principaux OS à un modèle où il faut sélectionner directement, via un classifier, le jar optimisé pour chaque OS.
Par conséquent, si vous utilisez le stockage basé sur le système de fichiers, vous devez ajouter vous-même rocksdb comme dépendance.

Exemple

gradle

dependencies {  
    implementation("io.durablestreams:durable-streams-server-core:<version>")  
    runtimeOnly("org.rocksdb:rocksdbjni:10.4.2:linux64") // or win64/osx  
}  

maven

<dependency>  
  <groupId>org.rocksdb</groupId>  
  <artifactId>rocksdbjni</artifactId>  
  <version>10.4.2</version>  
  <classifier>linux64</classifier>  
  <scope>runtime</scope>  
</dependency>  

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.