Principle:Risingwavelabs Risingwave Java Rust JNI Bridge
| Knowledge Sources | |
|---|---|
| Domains | JNI, Java, Rust, Interop |
| Last Updated | 2026-02-09 07:00 GMT |
Overview
JNI (Java Native Interface) bridge enabling bidirectional communication between Rust core engine and Java connector components.
Description
The Java-Rust JNI Bridge provides the interprocess communication layer between RisingWave's Rust core (storage, compute, frontend) and its Java connector ecosystem (CDC sources, sinks, Iceberg catalog). The bridge consists of auto-generated C header files declaring native function prototypes, Java native method declarations in the Binding class, and Rust FFI implementations. It covers iterator operations over Hummock storage and StreamChunk data, typed column value extraction for all RisingWave data types, CDC source channel communication, and sink writer stream handling. This bridge enables the Java connector node to directly access Rust-managed data structures without serialization overhead.
Usage
Apply this principle when adding new JNI methods for Java-Rust communication, extending data type support in the binding layer, or debugging cross-language interop issues.