2 puntos por click 2026-01-04 | Aún no hay comentarios. | Compartir por WhatsApp

Vi Durable Streams y me pareció un buen proyecto, así que también hice una implementación en java, que es mi lenguaje principal.

Características principales

  • Dependencia mínima de librerías específicas: Lo estructuré para depender lo menos posible de frameworks o librerías concretas, de modo que sea lo más personalizable posible y al mismo tiempo ofrezca una implementación base.
  • Optimización para Virtual thread: Se puede usar desde Java 17 en adelante, pero recomiendo usarlo con Virtual thread en Java 21 o superior.
  • Integración con los principales frameworks del JVM: Proporciona adaptadores para Spring MVC, Spring WebFlux, Micronaut, Quarkus y Ktor. Incluye conversión de solicitudes/respuestas y manejo de SSE integrados para cada framework, por lo que se puede usar de inmediato con solo unas pocas líneas de configuración.
  • Aprobó las pruebas de conformidad del protocolo: Pasó las 131 pruebas de conformidad proporcionadas por el repositorio durable-streams.

Precauciones

El almacenamiento basado en sistema de archivos usa Rocksdb para guardar metadatos. Rocksdb cambió recientemente de un método que ofrecía un fat jar con binarios para todos los principales sistemas operativos a un método en el que se debe elegir directamente, mediante classifier, el jar optimizado para cada sistema operativo.
Por eso, si vas a usar almacenamiento basado en sistema de archivos, debes agregar rocksdb manualmente como dependencia.

Ejemplo

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>  

Aún no hay comentarios.

Aún no hay comentarios.