我如何在 riemann.config 中使用 clj-http

How can I use clj-http in riemann.config

我使用 riemann,现在我写 riemann.config

我想使用 clj-http post 从 riemann 流到我的网络服务器的所有事件。但我不知道如何从 riemann.jar.

导入 clj-http

我在 riemann.config 中编码 (:use clj-http.client)(:require [clj-http.client :as client]) 但出现错误:

java.lang.ClassNotFoundException: clj-http.client

谁能帮帮我?

几个月前我做了类似的事情,这对我有用。我正在使用 http-kit :

(require '[org.httpkit.client :as http])

由于 riemann 中同时提供了 http-kit 和 cli-http(请参阅 https://github.com/aphyr/riemann/blob/master/project.clj)您应该能够以相同的方式要求 cli-http:

(require '[clj-http.client :as client])

您的配置中的问题是您正在使用 (:use ... an (:require .... 应该在名称空间声明中使用。因为 riemann.config 不包含名称空间声明你不能使用这些形式。当调用

(:use clj-http.client)

你得到 ClassNotFoundException 是因为 clojure 试图调用函数 :use on clj-http.client ,但找不到。在命名空间声明之外:use 只是一个没有特殊含义的标准关键字。