Как я могу использовать clj-http в riemann.config

Я использую Риман и теперь я пишу свой riemann.config,

Я хочу использовать clj-http публиковать все события из потока riemann на мой веб-сервер. Но я не знаю, как импортировать clj-http от riemann.jar.

Я кодирую (:use clj-http.client) или же (:require [clj-http.client :as client]) в riemann.config но получил ошибку:

java.lang.ClassNotFoundException: clj-http.client

Кто-нибудь может мне помочь?

1 ответ

Решение

Я делал нечто подобное несколько месяцев назад, и это работало на меня. Я использовал http-kit:

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

Так как http-kit и cli-http доступны в riemann (см. 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 пытается вызвать функцию: используйте для clj-http.client, который не может быть найден. Вне декларации пространства имен: use - это просто стандартное ключевое слово без особого значения.

Другие вопросы по тегам