0
Docker-compose를 사용하여 APIMAN을 외부 Elastic Search 데이터베이스에 연결하려고합니다. 몇 가지 문제를 만났습니다 (아래 로그 출력 참조). 다음은 구성은 다음과 같습니다메트릭에 대해 APIMAN을 외부 ElasticSearch 데이터베이스에 연결합니다.
는
apiman.es.protocol=http
apiman.es.host=MY_MACHINE_HOST
apiman.es.port=9200
apiman.es.username=elasticsearch
apiman.es.password=
apiman.es.timeout=10000
apiman-manager.metrics.type=es
apiman-manager.metrics.es.client-factory=
apiman-manager.metrics.es.protocol=${apiman.es.protocol}
apiman-manager.metrics.es.host=${apiman.es.host}
apiman-manager.metrics.es.port=${apiman.es.port}
apiman-manager.metrics.es.username=${apiman.es.username}
apiman-manager.metrics.es.password=${apiman.es.password}
apiman-manager.metrics.es.timeout=${apiman.es.timeout}
ETC...
- 그리고 로그 여기
ERROR [io.undertow.request] (default task-28) UT005023: Exception handling request to /apiman/organizations/test/apis/test/versions/1.0/metrics/planUsage: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: java.lang.IllegalArgumentException: name is empty
at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:76)
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:212)
at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:168)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:411)
ETC...
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: name is empty
at io.apiman.manager.api.war.WarCdiFactory.provideMetricsESClientFactory(WarCdiFactory.java:255)
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:78)
at org.jboss.weld.injection.producer.ProducerMethodProducer.produce(ProducerMethodProducer.java:99)
at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:161)
ETC...
Caused by: java.lang.IllegalArgumentException: name is empty
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:344)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
과 -apiman.properties하는 고정 표시기-작성 구성 : 나는
apiman:
build: ./docker/apiman/
links:
- elastic:elastic
ports:
- "8060:8080"
- "8443:8443"
elastic:
image: elasticsearch
ports:
- "9200:9200"
을하고 있는가 뭔가 잘못 ? 도움을 주시면 대단히 감사하겠습니다.
팁 주셔서 감사합니다. 그것은 작동합니다! –