Skip to content

Releases: esasmer-dou/java-rust-dubbo-spring-boot

Java Rust Dubbo Spring Boot 0.4.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 17:52

What's New

Version 0.4.1 keeps provider business-exception details instead of replacing them with a generic framework error.

  • Rust consumers receive DubboRemoteBusinessException with the provider message, reported exception type, and a bounded cause chain.
  • Rust providers return the standard Dubbo business-exception response to Rust and supported Apache Dubbo consumers.
  • Synchronous failures and failed CompletableFuture results follow the same contract.
  • Remote stack traces are not transferred. Expected outcomes should use typed result records and stable error codes.

Upgrade every framework artifact to 0.4.1 together and include exactly one native platform artifact. Windows x64, Linux x64 with GLIBC 2.17, and Apple Silicon macOS 11+ binaries were rebuilt from the same tagged source. Spring annotations, generated method signatures, business code, properties, and native ABI 3 remain compatible.

Yenilikler

0.4.1, provider business exception bilgisinin genel bir framework hatasıyla değiştirilmesini engeller.

  • Rust consumer, provider mesajını, bildirilen exception tipini ve sınırlandırılmış cause zincirini içeren DubboRemoteBusinessException alır.
  • Rust provider, Rust consumer ve desteklenen Apache Dubbo consumer için standart Dubbo business-exception cevabı döner.
  • Senkron hatalar ve hatayla tamamlanan CompletableFuture sonuçları aynı sözleşmeyi kullanır.
  • Uzak stack trace taşınmaz. Beklenen sonuçlarda tip güvenli result record ve sabit hata kodu kullanılmalıdır.

Tüm framework artifact'larını birlikte 0.4.1 sürümüne yükseltin ve yalnızca bir native platform artifact'ı ekleyin. Windows x64, GLIBC 2.17 uyumlu Linux x64 ve Apple Silicon macOS 11+ binary'leri aynı tag kaynak kodundan yeniden üretildi. Spring annotation'ları, generated metot imzaları, business kodu, property'ler ve native ABI 3 uyumluluğunu korur.

Java Rust Dubbo Spring Boot 0.4.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 15:23

What's New

Version 0.4.0 adds native Apple Silicon macOS support. Applications running on M1, M2, M3, M4, or newer Macs can now use java-rust-dubbo-native-macos-aarch64 with an ARM64 Java 21 JDK.

The dylib is built and tested on a GitHub-hosted Apple Silicon runner. The release gate verifies ARM64 architecture, the macOS 11 deployment target, system-only dynamic dependencies, code signing, and JNI loading.

Upgrade the framework version to 0.4.0 and select exactly one native artifact for the target operating system. Controllers, business services, contracts, DTOs, annotations, route properties, the Dubbo wire contract, and native ABI 3 remain unchanged.

Yenilikler

0.4.0, Apple Silicon macOS desteği ekler. M1, M2, M3, M4 veya daha yeni Mac bilgisayarlarda çalışan uygulamalar, ARM64 Java 21 JDK ile java-rust-dubbo-native-macos-aarch64 artifact'ını kullanabilir.

Dylib, GitHub tarafından sağlanan Apple Silicon runner üzerinde üretilir ve test edilir. Release gate; ARM64 mimarisini, macOS 11 deployment target değerini, yalnızca sistem dinamik bağımlılıklarını, kod imzasını ve JNI yüklemesini doğrular.

Framework sürümünü 0.4.0 yapın ve hedef işletim sistemi için yalnızca bir native artifact seçin. Controller, business service, contract, DTO, annotation, route property, Dubbo wire contract ve native ABI 3 değişmez.

Java Rust Dubbo Spring Boot 0.3.1

Choose a tag to compare

@github-actions github-actions released this 30 Aug 18:49

What's New

The build-time annotation processor now derives its supported Java source level from the active compiler model. This fixes false Error parsing file markers on valid @DubboReference classes in NetBeans 17 while Maven continues to compile with Java 21.

Upgrade the framework version to 0.3.1, reload the Maven project, and run Clean and Build. Controllers, business services, contracts, DTOs, annotations, route properties, and native settings stay the same. Codegen and field enhancement remain build-time and reflection-free.

Native ABI remains 3, and the Dubbo wire contract is unchanged.

Yenilikler

Build sırasında çalışan annotation processor artık desteklediği Java source seviyesini aktif compiler modelinden alır. Böylece Maven Java 21 ile build almaya devam ederken NetBeans 17'nin geçerli @DubboReference sınıflarını yanlış şekilde Error parsing file olarak işaretlemesi giderilir.

Framework sürümünü 0.3.1 yapın. Maven projesini yeniden yükleyin ve Clean and Build çalıştırın. Controller, business service, contract, DTO, annotation, route property ve native ayarlar aynı kalır. Codegen ve field enhancement build sırasında, reflection kullanmadan çalışmaya devam eder.

Native ABI 3 ve Dubbo wire contract değişmez.

Java Rust Dubbo Spring Boot 0.3.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 17:59

What's New

Framework annotations now use the Reactor-owned com.reactor.rust.dubbo.annotation package. The starter no longer contributes classes under org.apache.dubbo.*, so official Apache providers and newly migrated Rust consumers can coexist without duplicate annotation classes or accidental code generation.

Upgrade by changing the framework version to 0.3.0 and replacing the three annotation imports. Controllers, business services, contracts, DTOs, route properties, and native settings stay the same. Codegen and field enhancement remain build-time and reflection-free.

A separate java-rust-dubbo-apache-compat-annotations artifact is available for temporary old-import migration and must be enabled explicitly. Native ABI remains 3, and the Dubbo wire contract is unchanged.

Yenilikler

Framework annotation'ları artık Reactor'a ait com.reactor.rust.dubbo.annotation package'ını kullanır. Starter, org.apache.dubbo.* altında sınıf getirmez. Böylece resmî Apache provider ile yeni Rust consumer aynı geçiş sürecinde duplicate annotation sınıfı veya yanlış codegen riski olmadan çalışabilir.

Geçiş için framework sürümünü 0.3.0 yapın ve üç annotation import'unu değiştirin. Controller, business service, contract, DTO, route property ve native ayarlar aynı kalır. Codegen ve field enhancement build sırasında, reflection kullanmadan çalışmaya devam eder.

Eski import'ların geçici kullanımı için ayrı java-rust-dubbo-apache-compat-annotations artifact'ı bulunur ve açıkça etkinleştirilmesi gerekir. Native ABI 3 ve Dubbo wire contract değişmez.

Java Rust Dubbo Spring Boot 0.2.1

Choose a tag to compare

@github-actions github-actions released this 30 Aug 16:50

What's New

Conditional consumers now stay fully inactive when Spring does not create the bean that uses them. A reference behind @ConditionalOnProperty or a Spring profile opens no native connection and needs no route while that bean is disabled.

Generated client definitions remain reflection-free. The native client is created once when an active reference is first injected. Active references keep strict route and readiness checks, so configuration errors still stop startup before traffic is accepted.

Application annotations, business services, native ABI 3, and the Dubbo wire contract are unchanged. See the README's Conditional References section for a copy-paste example.

Yenilikler

Spring ilgili bean'i oluşturmadığında koşullu consumer artık tamamen kapalı kalır. @ConditionalOnProperty veya Spring profili arkasındaki reference, bean kapalıyken native connection açmaz ve route istemez.

Generated client tanımları reflection kullanmadan hazırlanır. Native client, aktif reference ilk kez enjekte edilirken bir kez oluşturulur. Aktif reference'lar strict route ve readiness kontrollerini korur. Yapılandırma hataları trafik başlamadan önce startup'ı durdurur.

Uygulama annotation'ları, business service kodu, native ABI 3 ve Dubbo wire contract değişmez. Kopyalanabilir örnek için README içindeki Koşullu Reference Kullanımı bölümüne bakın.

Java Rust Dubbo Spring Boot 0.2.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 10:30

What's New

A Spring Boot consumer can now connect different @DubboReference contracts to different provider applications. Configure an exact route for each interface + group + version; Java annotations and business services remain unchanged.

Route selection happens once at startup. Calls remain generated and reflection-free. Routes use separate bounded connections, queues, timeouts, payload limits, and in-flight budgets while sharing one small Rust Tokio runtime.

Disconnected sockets are skipped when a healthy configured replica exists. If all replicas are unavailable, waiting remains bounded by the original RPC timeout. Sent business calls are never replayed automatically.

Production deployments should set reactor.dubbo.consumer.require-explicit-routes=true. See the README for complete properties, Kubernetes Service DNS examples, health details, and tuning guidance.

Yenilikler

Bir Spring Boot consumer artık farklı @DubboReference contract'larını farklı provider uygulamalarına bağlayabilir. Her interface + group + version kimliği için tam route tanımlanır. Java annotation ve business service kodu değişmez.

Route seçimi startup sırasında bir kez yapılır. Çağrılar generated ve reflection-free kalır. Route'ların sınırlı connection, queue, timeout, payload ve in-flight bütçeleri ayrıdır. Hepsi aynı küçük Rust Tokio runtime'ını paylaşır.

Sağlıklı bir replica varsa kopuk socket seçilmez. Bütün replica'lar kapalıysa bekleme mevcut RPC timeout süresiyle sınırlı kalır. Gönderilmiş business çağrıları otomatik olarak tekrar gönderilmez.

Production ortamında reactor.dubbo.consumer.require-explicit-routes=true kullanın. Tüm property'ler, Kubernetes Service DNS örnekleri, health detayları ve tuning bilgileri README içinde bulunur.

Java Rust Dubbo Spring Boot 0.1.1

Choose a tag to compare

@github-actions github-actions released this 28 Aug 14:05

Public Java production distribution with verified Windows x64 and GLIBC 2.17 Linux x64 native artifacts. Rust implementation source is intentionally not included.

Java Rust Dubbo Spring Boot 0.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 14:02

Public Java production distribution with verified Windows x64 and GLIBC 2.17 Linux x64 native artifacts. Rust implementation source is intentionally not included.