Согласно документации на верблюд для consul (camel.apache.org/consul-component.html), поддерживаемый HTTP-API - это kv, event и agent. Есть пример kv (хранилище ключей/значений), которые работают нормально, но нет такого примера для API-агента. Я прошел через документацию Консула [www.consul.io/docs/agent/http/agent.html] и соответствующего java-клиента [github.com/OrbitzWorldwide/consulclient] и попытался выяснить, как консул: компонент агента должен работать, но я не нашел там ничего простого.Как использовать компонент консула верблюда для API-интерфейса агента?
main.getCamelTemplate().sendBodyAndHeader(
"consul:agent?url=http://localhost:8500/v1/agent/service/register",
payload,
ConsulConstants.CONSUL_ACTION, ConsulAgentActions.AGENT); //also tried with ConsulAgentActions.SERVICES, but no luck
Я также проверил тестовые примеры упомянуть https://github.com/apache/camel/tree/master/components/camel-consul/src/test/java/org/apache/camel/component/consul но не смогли найти ничего, связанного с API агента.
Так что мой вопрос в том, как использовать консул: компонент агента.
ОБНОВЛЕНИЕ: Я попробовал приведенный ниже код и смог получить услуги.
Object res = main.getCamelTemplate().requestBodyAndHeader("consul:agent", "", ConsulConstants.CONSUL_ACTION, ConsulAgentActions.SERVICES);
Похоже, что компонент consul работает только для операции GET API-интерфейса HTTP. Но в таком случае, как зарегистрировать новую услугу (например,/v1/agent/service/register: регистрирует новую локальную службу) с компонентом consul?