6 个版本

使用旧的 Rust 2015

0.2.1 2020 年 6 月 20 日
0.2.0 2019 年 3 月 15 日
0.1.3 2018 年 9 月 17 日

#java 中排名 #95

每月 38 次下载
用于 panopticon-tui

MIT/Apache 许可

34KB
654 行代码(不包括注释)

Rust 的 JMX

一个用于 Rust 的 JMX 客户端库。

此库允许从 Rust 项目查询 Java JMX 属性。

构建

jmx-rust 包基于 j4rs 包。

截至版本 0.5.1,j4rs 能够自动定位 JDK。

测试

测试正常,但需要启动位于 tests/jmxserver 的测试 JMX 服务器。然后,测试使用此服务器来检查库。

为此,测试服务器必须编译,并且必须在 $PATH 中提供正确的 $java

cd tests/jmxserver
javac TestServer.java
cd ../..

export PATH="/path/to/java/bin:$PATH"
cargo test --features thread-support

用法

创建客户端

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://127.0.0.1:{}/jndi/rmi://127.0.0.1:{}/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();
}

依赖项

~3–4.5MB
~56K SLoC