Skip to main content
The Java SDK connects JVM applications to Reactor models. These pages describe inc.reactor:reactor-sdk:1.0.0. Use the published Javadoc for the complete API.

Requirements

Use JDK 22 or later. Java 21 and earlier and Android are not supported by this SDK.

Add the dependency

The dependency includes the native libraries for all supported platforms. No separate download or compiler toolchain is needed.

Enable native access

Add the appropriate option to the JVM that runs your application:
A modular application also declares requires inc.reactor.sdk; in its module-info.java. For Gradle’s application plugin, set applicationDefaultJvmArgs = listOf("--enable-native-access=ALL-UNNAMED") inside the application block for a classpath application.

Connect

Have your backend issue a short-lived, scoped JWT and provide it to your application. This example reads it from REACTOR_JWT; see Authentication for token issuance.
join() blocks the calling thread. Use future composition in a UI application, and keep blocking calls off the UI thread. disconnect() ends a session the client created; try-with-resources releases the client even if an operation fails.
Never bundle a Reactor API key in a desktop application. Keep it on your backend and give the application a scoped JWT.

Optional modules

Add these separately when needed, using the same 1.0.0 version: The base SDK does not open a microphone or speaker automatically.

Reactor

Connect, send commands, upload files, and download recordings.

Track

Receive and send video and audio frames.

Types

JSON values, replies, events, and errors.