Hi

I am having a weird problem, please read below

I have two simple came-spring-boot application exposing couple of REST
endpoints. I have a consul server running and I am using that as a service
discovery engine.

*Application 1: *

*bootstrap.yml*
spring:
   cloud:
      consul:
         host: localhost
         port: 8500
         discovery:
            instanceId: camel-consul-first
            healthCheckUrl: http://192.168.11.89:8081/api/my_camel_health
            healthCheckInterval: 30s
         config:
            enabled: true
         connect:
            enabled:true
*application.yml*
camel:
   springboot:
      xmlRoutes: classpath:xml-route/*.xml
      main-run-controller: true
      xmlRests: classpath:xml-rest/*.xml
   cloud:
      consul:
         service-discovery:
            url: http://localhost:8500

spring:
   application:
      name: camel-consul-first
server:
   port: 8080

*Route*
<route id="first-route-microservice" autoStartup="true">
<from uri="direct:test-microservice"/>
<log message="ROUTE 'direct:test-microservice' CALLED"/>
<setHeader headerName="CamelHttpMethod"><simple>POST</simple></setHeader>
<serviceCall name="camel-consul-second/api/hey?bridgeEndpoint=true"/>
<convertBodyTo type="String"/>
<log message="Done ${body}"/>
<setBody><simple>${body}</simple></setBody>
</route>


*Application 2: *

*bootstrap.yml*
spring:
   cloud:
      consul:
         host: localhost
         port: 8500
         discovery:
            instanceId: camel-consul-second
            healthCheckUrl: http://192.168.11.89:8082/api/my_camel_health
            healthCheckInterval: 30s

*application.yml*
camel:
   springboot:
      xmlRoutes: classpath:xml-route/*.xml
      main-run-controller: true
      xmlRests: classpath:xml-rest/*.xml

spring:
   application:
      name: camel-consul-second
server:
   port: 8083



So simply I am using serviceCall EIP from application 1 to call a REST api
from application 2. I can confirm both applications are registered
successfully with consul as when I browse
http://localhost:8500/ui/dc1/services I can see both service listed with
correct service name. But unfortunately I am receiving  below error

java.util.concurrent.RejectedExecutionException: No active services
with name camel-consul-second
        at 
org.apache.camel.impl.cloud.DefaultServiceLoadBalancer.process(DefaultServiceLoadBalancer.java:134)
        at 
org.apache.camel.impl.cloud.DefaultServiceCallProcessor.process(DefaultServiceCallProcessor.java:173)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:138)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
        at 
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:76)
        at 
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:97)
        at 
org.apache.camel.component.restlet.RestletConsumer$1.handle(RestletConsumer.java:68)
        at 
org.apache.camel.component.restlet.MethodBasedRouter.handle(MethodBasedRouter.java:63)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Router.doHandle(Router.java:422)
        at org.restlet.routing.Router.handle(Router.java:641)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Router.doHandle(Router.java:422)
        at org.restlet.routing.Router.handle(Router.java:641)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at 
org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)


Please help
-- 
Kind Regards
Rana

Reply via email to