SOA プロジェクトの作成に取り組んでいます。Jersey を使用して、残りのサービスを公開したいと考えています。私のプロジェクトでは、API インターフェイスと DTO を持つ API プロジェクトを作成するのが標準です。実装プロジェクトは API プロジェクトに依存し、すべての実装は実装で記述されます。
このアーキテクチャの背後にある考え方は、REST 用と SOAP 用の 2 つの API プロジェクトを作成し、インターフェースに必要な注釈を付けることです。その結果、実装は、サービスを公開するために使用されるメソッド (つまり、REST と SOAP) を認識しません。
ただし、Jersey の問題は、インターフェイス上の注釈を検出できず、次の例外をスローし続けます。
com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
同様の質問がすでに尋ねられています - JAX-RS Jersey/Grizzly Define an interface resource - その答えは、Spring-Jersey を使用して可能であると述べています。
しかし、私は spring-jersey のさまざまな構成オプションを試しました - http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-spring/com/sun/jersey/spi/spring/container/servlet/packageを含む-summary.html
しかし、成功はありませんでした。
質問
- インターフェイスを介してサービスを公開するさまざまな方法を管理しようとする考えは、実現可能で良い考えですか? 業界の専門家はどうしていますか?
- Jersey を使用して Interface で行われたアノテーションを理解するにはどうすればよいですか?
- RestEasy のような他のフレームワークが役に立ちますか?