2017-08-26 16 views
0

Wildfly SwarmでCamel Restサービスを設定しようとしていますが、RouteBuilderクラスがどのようにインスタンス化されるか、またはCamelContextがどのようにインスタンス化されるかについてはわかりません。私はWildfly Swarmのサンプルをダウンロードし、Camel CXF-JAXRSプロジェクトを見てきました。これは意味がありますが、XMLを使って経路を定義しています。私はJava DSLを使いたいです。私はとcamel-context.xmlファイルなしでこれを試してみましたWildfly SwarmでJava DSLを使用してApache Camel Restルートを設定する

public class GreetingService extends RouteBuilder { 
    @Override 
    public void configure() { 
     System.out.println("RouteBuilder.configure"); 
     restConfiguration().host("localhost").port("9797"); 
     rest("/say") 
       .get("/hello").to("direct:hello") 
       .get("/bye").consumes("application/json").to("direct:bye") 
       .post("/bye").to("mock:update"); 

      from("direct:hello") 
       .transform().constant("Hello World"); 
      from("direct:bye") 
       .transform().constant("Bye World"); 
    } 
} 

:私RouteBuilderクラスには、次のようになります。スウォームが起動しますが、残りのサービスエンドポイントを参照することはできません。

RouteBuilderはどのように呼び出されますか? CamelContextをインスタンス化する何らかの種類のmainメソッドが必要ですか?

私はWidlfy Swarm 2017.8.1を使用しています。クラスはwarファイルにあります。

+0

ワイルドフラッグのラクダパッチを適用しましたか?私はこれまでにこれをやっていました。奴らはスラップスタッドと会った? – Namphibian

+0

@ Namphibian baie lekker :) Wildfly Swarmのバージョン(およびそのすべての依存関係)を管理するためにmvnを使用しています。これは最新の安定版である2017.8.1にあります。 –

答えて

1

web.xmlにこのリスナーを追加して、ラクダをブートストラップすることができます。
org.apache.camel.component.servletlistener.SimpleCamelServletContextListener または、スプリングを使用してラクダの文脈を定義することができます

+0

それは動作します。 'src/main/resources/camel/camel-context.xml'ファイルを追加し、' RouteBuilder'クラスが次のようなパッケージを指定しました: ' za.co.camel。 rest ' –

関連する問題