-2

我正在尝试为 collectd 开发一个非常简单的 Java 编写器插件,但没有成功。也没有找到任何关于 Java 插件开发的文档。

我一遍又一遍地遇到相同的错误,即在代理启动时找不到 LoadPlugin 元素 (collectd.config) 中提供的类。

这是我所做的:

  1. 使用:sudo apt-get install collectd 安装 collectd。
  2. 下载收集的资源。
  3. 在 /bindings/java/org/collectd/java 下添加了一个新的(非常简单的)编写器插件。
  4. 修改了/bindings/java/Makefile.am:
    • 将写入器添加到 EXTRA_DIST 列表
    • 将以下行添加到 java-build-stamp 任务(为新编写器创建 jar): jar cf .lib/simple.jar “com.microsoft.java”/*.class
    • 在 install-exec-local 任务中添加了以下行:$(INSTALL) –m 644 .libs/simple.jar \ “$(DESTDIR)$(pkgdatadir)/java”</li>
  5. 从源根目录执行 ./configure。
  6. 执行 sudo make all install from bindings/java 目录。
  7. 修改 collectd.config:
    • 启用 Java 插件
    • 通过将“LoadPlugin”com.microsoft.java.SimpleWriter”添加到 Java 插件部分来启用新插件
    • 更新 JVM 类路径参数以包含包含新插件的 jar。
  8. 通过执行开始collectd:sudo /etc/init.d/collectd start

当我启用 GenericJMX 插件时,它已成功加载。有谁知道我做错了什么?

4

1 回答 1

0

将 jar 内容提取到类路径文件夹中解决了这个问题。似乎如果你的类名是 com.company.foo.FooClass,CollectD 在目录 (class_path_dir)/com/company/foo/FooClass.class 下搜索它

于 2015-05-07T07:36:11.520 回答