Apache Camel: потребляйте отдых на причале - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу воспользоваться услугой отдыха в http://localhost:8080/ с апач-верблюдом с помощью пристани.Но этот код не производит никаких запросов к API.Я новичок в Apache-Camel и хочу использовать для организации различных микросервисов.

Код:

package example;

import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;



public class ejemplo {

    public static void main(String[] args) throws Exception {



        CamelContext context = new DefaultCamelContext();
        context.setTracing(true);
        context.addRoutes(new RouteBuilder(){

            @Override
            public void configure() throws Exception {

                from("direct:start")
                .log("Http Route started")
                .setHeader(Exchange.HTTP_METHOD,simple("GET"))
                .setHeader(Exchange.CONTENT_TYPE,simple("application/json"))
                .to("jetty:http://0.0.0.0:8080/")
                .process(new Processor(){

                    public void process(Exchange exchange) throws Exception {
                        System.out.println("I am a process....");
                        String msg = exchange.getIn().getBody().toString();
                        System.out.println(msg);

                    }

                });

            }

        });

        context.start();

    }

}

Журнал:

sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext start
INFORMACIÓN: Apache Camel 2.17.1 (CamelContext: camel-1) is starting
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext doStartCamel
INFORMACIÓN: Tracing is enabled on CamelContext: camel-1
sep 24, 2019 7:57:05 PM org.apache.camel.management.ManagedManagementStrategy doStart
INFORMACIÓN: JMX is enabled
sep 24, 2019 7:57:05 PM org.apache.camel.impl.converter.DefaultTypeConverter doStart
INFORMACIÓN: Loaded 208 type converters
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultRuntimeEndpointRegistry doStart
INFORMACIÓN: Runtime endpoint registry is in extended mode gathering usage statistics of all incoming and outgoing endpoints (cache limit: 1000)
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext doStartCamel
INFORMACIÓN: AllowUseOriginalMessage is enabled. If access to the original message is not needed, then its recommended to turn this option off as it may improve performance.
sep 24, 2019 7:57:05 PM org.apache.camel.impl.DefaultCamelContext doStartCamel
INFORMACIÓN: StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
sep 24, 2019 7:57:05 PM org.eclipse.jetty.util.log.Log initialized
INFORMACIÓN: Logging initialized @1372ms
sep 24, 2019 7:57:06 PM org.apache.camel.impl.DefaultCamelContext doStartOrResumeRouteConsumers
INFORMACIÓN: Route: route1 started and consuming from: Endpoint[direct://httpRouter]
sep 24, 2019 7:57:06 PM org.apache.camel.impl.DefaultCamelContext start
INFORMACIÓN: Total 1 routes, of which 1 are started.
sep 24, 2019 7:57:06 PM org.apache.camel.impl.DefaultCamelContext start
INFORMACIÓN: Apache Camel 2.17.1 (CamelContext: camel-1) started in 1.466 seconds

Этот вывод не производит никакихОтвет API в localhost: 8080, но я думаю, что маршрут правильный.Я хотел бы знать, есть ли другие способы использования службы отдыха API REST с использованием apache-camel.

1 Ответ

0 голосов
/ 25 сентября 2019

Обратите внимание, что start - это просто имя, а компонент direct позволяет вам синхронно вызывать ваш маршрут из другого маршрута, похоже, вы просто не делаете это

Чтобы проверить, является ли маршрут правильнымзамените direct в вашей конечной точке на timer, например, from("timer://foo?fixedRate=true&period=10000"), для получения более подробной информации см. документы о верблюдах

...