2016-10-07 10 views
1

私はKarafには新しいので、BundleActivatorクラスを使用せずにfelixアノテーションを使用してRESTful Webサービスのプロジェクトを作成するためのリソースを探していました(実際のクラスが必要です私によって書かれていますが、いくつかのコンパイラやmavenのプラグインが私のために同じことをしていればOKです)とblueprint xmlファイル。これまでのところ、私は最初の部分(BundleActivator部分)で成功しました。これは、コンパイル後にMANIFEST.MFをimport文とexport文で自動作成し、各コンポーネントクラスに関連するXMLファイルを作成し、それを非常にうまく動作するnice jar bundle私がKarafコンテナに展開するとしかし、うまくいかないのは、RESTfulなサービスです。バンドルは正しく配置されていますが、RESTのURLは公開されていないため、アクセスできません。青写真のないKarafでのRESTfulサービスxml

この作業を手伝ってください。私は、休憩サービスの追加や削除があるたびに変更する必要があるXMLファイルを作成したくありません。あなたは完全に青写真を回避したい場合

おかげ

+1

宣言型サービスとジャージーを使用するには、https://jersey.java.net/nonav/documentation/latest/user-guide.html#deployment.osgiを参照してください。 –

答えて

0

私はCXF機能を使用せずにそうする方法を考え出しました。つまり、コンポーネントクラスを作成し、ActivatingメソッドでConfigurationAdminのオブジェクトを取得し、必要なコンテキストパスをjersyサーバープロセス(jersey publisher jarを使用)に配置します。このmehtodを使って、私はblueprint.xmlファイルを使わずにKarafにrest/serlvetを配置することができました。私はこれが役立つことを願っています

2

は、あなたはCXF-dosgiを使用する必要があります。 jaxrsを使用して休憩サービスに注釈を付け、いくつかの特別なプロパティを持つOSGiサービスとしてパブリッシュするだけです。

cxf-dosgi rest sampleを参照してください。

この例では、標準DSアノテーションとmavenバンドルプラグインを使用して、オンザフライでDSコンポーネントxmlを作成しています。

実行時に青写真を使用する場合は、blueprint-maven-pluginを使用できます。 See this example

関連する問題