6 releases
Uses old Rust 2015
0.2.1 | Jun 20, 2020 |
---|---|
0.2.0 | Mar 15, 2019 |
0.1.3 | Sep 17, 2018 |
#95 in #java
38 downloads per month
Used in panopticon-tui
34KB
654 lines
JMX for Rust
A JMX client library for Rust.
This library allows querying Java JMX attributes from a rust project.
Building
The jmx-rust
crate is based off of the j4rs
crate.
As of version 0.5.1 j4rs
is able to locate the JDK automatically.
Tests
Tests work but starting a test JMX server located under tests/jmxserver
.
This server is then used by the tests to check the library.
For this to work the test server must be compiled and the correct java
command
must be available in the $PATH
:
cd tests/jmxserver
javac TestServer.java
cd ../..
export PATH="/path/to/java/bin:$PATH"
cargo test --features thread-support
Usage
Creating a client:
extern crate jmx;
static JMX_PORT: i32 = 1234;
fn main() {
// Create a connection to the remote JMX server.
let url = MBeanAddress::service_url(format!(
"service:jmx:rmi://localhost:{}/jndi/rmi://localhost:{}/jmxrmi",
JMX_PORT, JMX_PORT
));
let client = MBeanClient::connect(url)
.expect("Failed to connect to the JMX server");
// Fetch some attribute from the server.
let threads: i32 = client.get_attribute("FOO:name=ServerBean", "ThreadCount").unwrap();
}
Dependencies
~3–4.5MB
~56K SLoC