0

私はかなり長い間ラクダの周りを見つけてきました。ポート 8080 で受信したすべてのリクエストを 2 台のサーバー vmxp22-sat-1:8080 と vmxp22-sat-1:8080 に転送する小さなコードを書きました。

import java.util.List;

import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.Endpoint;
import org.apache.camel.processor.loadbalancer.LoadBalancer;


public class Test implements LoadBalancer  {

    protected RouteBuilder createRouteBuilder() {
        return new RouteBuilder() {
            public void configure() {
                // START SNIPPET: e1
                from("jetty://http://localhost:8080")
                .loadBalance().roundRobin()
                .to("http://vmxp22-sat-1:8080",
                    "http://vmxp22-sat-2:8080");
                // END SNIPPET: e1


            }
        };
    }
}

しかし、Eclipseでコンパイルすると、次のエラーが発生します

The type Test must implement the inherited abstract method AsyncProcessor.process(Exchange, AsyncCallback)  Test.java   /first_camel/src/main/java/com/mycompany/first_camel    line 24 Java Problem
The type Test must implement the inherited abstract method LoadBalancer.addProcessor(Processor) Test.java   /first_camel/src/main/java/com/mycompany/first_camel    line 24 Java Problem
The type Test must implement the inherited abstract method LoadBalancer.getProcessors() Test.java   /first_camel/src/main/java/com/mycompany/first_camel    line 24 Java Problem
The type Test must implement the inherited abstract method LoadBalancer.removeProcessor(Processor)  Test.java   /first_camel/src/main/java/com/mycompany/first_camel    line 24 Java Problem
The type Test must implement the inherited abstract method Processor.process(Exchange)  Test.java   /first_camel/src/main/java/com/mycompany/first_camel    line 24 Java Problem

私はJavaとCamelの両方に慣れていないので、整理するのが難しいと感じています.

提案や助けをいただければ幸いです。

4

1 に答える 1

2

クラスは LoadBalancer ではなく RouteBuilder を実装する必要があります...

詳細については、 http://camel.apache.org/routes.htmlを参照してください。

于 2012-08-08T15:58:36.983 に答える