0

Apache FUSE ESB で同じベース URI を持つ 2 つの JAX-RS サービスの構成を手伝ってくれる人はいますか? JBoss FUSE 6.0 リリースを karaf コンテナー、Apache Camel、および CXF (JAX-RS) と共に使用しています。設定は Blueprint で行います。JAX-RS サービスを 1 つだけ構成すると、すべてが正常に機能します。

ベース URI で 2 つの JAX-RS Bean を提供しようとしていhttp://localhost:9001/rsます。最初の Bean は ashttp://localhost:9001/rs/rest1で、2 番目の Bean はhttp://locahost:9001/rs/rest2.

jetty エンドポイントで 2 つのキャメル コンテキストを定義しました。構成済みのインスタンスを 2 つだけ使用する必要があると思いますが、これを行う方法がわかりません。

ここに私のキャメルコンテキストがあります:

<camel:camelContext id="context1">
    <camel:endpoint id="ep1" uri="jetty:http://localhost:9001/rs/?matchOnUriPrefix=true"/>
    <camel:route autoStartup="true">
        <camel:from uri="ep1"/>
        <camel:to uri="cxfbean:restBean1"/>
        <camel:log message="Message received after REST Processor. "/>
        <camel:convertBodyTo type="java.lang.String"/>
        <camel:to uri="log:loggingCategory?level=INFO"/>
    </camel:route>
</camel:camelContext>

<camel:camelContext id="context2">
    <camel:endpoint id="ep2" uri="jetty:http://localhost:9001/rs/?matchOnUriPrefix=true"/>
    <camel:route autoStartup="true">
        <camel:from uri="ep2"/>
        <camel:to uri="cxfbean:restBean2"/>
        <camel:log message="Message received after REST Processor. "/>
        <camel:convertBodyTo type="java.lang.String"/>
        <camel:to uri="log:loggingCategory?level=INFO"/>
    </camel:route>
</camel:camelContext>

両方の Bean がサービス参照として挿入され、ルートの 1 つにコメントするとすべてが機能します。

camel でこれを設定する方法について何か提案はありますか?

乾杯、 オリバー

4

2 に答える 2

1

2 つの桟橋のエンドポイントは一意である必要があります。たとえば、両方とも /rs/ である必要があります。

 <camel:endpoint id="ep1" uri="jetty:http://localhost:9001/rs/rest1/?matchOnUriPrefix=true"/>

 <camel:endpoint id="ep2" uri="jetty:http://localhost:9001/rs/rest2/?matchOnUriPrefix=true"/>
于 2013-07-19T11:16:48.710 に答える
0

2 つのエンドポイントの問題を修正しました

<camel:endpoint id="ep1" uri="jetty:http://localhost:9001/rs/rest1/?matchOnUriPrefix=true"/>
<camel:endpoint id="ep2" uri="jetty:http://localhost:9001/rs/rest2/?matchOnUriPrefix=true"/>

REST Bean は@Path("/"). これで、すべての REST Bean に正しいパスが設定されました。

次にテストする必要があるのは、2 つのエンドポイントを Web アプリ バンドルと一緒に同じ URL に配置する方法です。

ありがとう !

于 2013-07-25T16:15:51.297 に答える