kud1ing / rucaja

Calling the JVM from Rust via JNI

Home Page:https://docs.rs/rucaja

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rucaja (Rust calls Java) Build Status

Calling JVM code from Rust via JNI.

Usage

JNI calls are about 10-20 times slower than regular JVM instructions. It is adviced to call as few functions as possible that do as much work as possible.

Creating a flat Java wrapper class and producing a fat JAR with all the dependencies also reduces the amount of Rust interface code.

A more complete example is kud1ing/tinkerpop-rs which uses Rucaja to call Apache TinkerPop.

Platforms

The code is tested on Linux and macOS. Your platform might need adjustments in build.rs.

Mac

Trying to run may give:

dyld: Library not loaded: @rpath/libjvm.dylib
  Referenced from: ./target/debug/rucaja
  Reason: image not found
Abort trap: 6

this might require something like:

sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

License

Licensed under either of

at your option.

About

Calling the JVM from Rust via JNI

https://docs.rs/rucaja

License:Apache License 2.0


Languages

Language:Rust 100.0%