問題タブ [peaberry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javaでの動的プラグインの実装
Javaアプリケーションに動的プラグイン機能を実装したいと思います。理想的には:
- アプリケーションは、の
Plugin
ようなメソッドでインターフェースを定義しますgetCapabilities()
。 - プラグインは、実装
pluginX.jar
するクラス(およびおそらく他のいくつか)を含むJARになります。PluginXImpl
Plugin
- ユーザーは
pluginX.jar
、特別なディレクトリに配置するか、それを指す構成パラメーターを設定します。ユーザーは必ずしもpluginX.jar
クラスパスに含める必要はありません。 - アプリケーションは
PluginXImpl
(おそらくJARマニフェストを介して、おそらくリフレクションによって)それを見つけてレジストリに追加します。 - クライアントは
PluginXImpl
、たとえば、のようなメソッドを呼び出すことによって、のインスタンスを取得できますgetPluginWithCapabilities("X")
。ユーザーは必ずしもプラグインの名前を知っている必要はありません。
ピーベリーでこれができるはずだと思いますが、ドキュメントの意味がわかりません。私はGuiceの学習に時間を費やしてきたので、私の好みの答えは「SpringDynamicModulesを使用する」ではありません。
Guice / peaberry、OSGi、または単なるJavaを使用してこれを行う方法について誰かが私に簡単なアイデアを教えてもらえますか?
osgi - Peaberry for Guice はどのような問題を解決しますか?
OSGIがこの質問のおかげで解決した問題を理解しています....
そして、私は Guice が素晴らしいことを確信しているので、"peaberry" として知られる Guice の OSGI 統合が何をするのか興味があります。Maven 3 プレゼンテーションでさえ、どこにでも現れているようです。
osgi - Guice-to-OSGi の指針、経験、ヒントなどを探しています
Guice は、API を実装から分離し、アプリケーションのモジュール化を開始するための優れたフレームワークです。OSGi は、バージョン管理されたサービスを独自の安全な環境にロードし、エクスポートされた API を介してこれらを提供するための優れたフレームワークです。
アプリケーションが Guice で開発されており、そのサイズが OSGi に移行して初期のモジュールを新しい本格的なサービスに変換することを正当化すると仮定すると、この移行を実行するための原動力となるステップは何ですか?
指針となる原則、段階的な To Do リスト、戦争経験、ヒント、注意事項などを探しています。
osgi - GuiceとOSGiサービスの統合
GuiceとOSGiを統合する現在の状況はどうですか?つまり、GuiceからOSGiサービスを公開したり、それらを注入したりします。
Peaberryのメインページには「TheGuicetrunk(2.0になる)」と記載されていますが、1.2はhttp://code.google.com/p/peaberry/issues/detail?id=58を修正しているため、最新のようです。作者はシスを切り替えましたが、まだリリースされていないようです。他のもの?
servlets - Guice、Peaberry、ServletModule
Peaberry / Guice / OSGi/Servletsを適切に配置するのに問題があります。まず、プラグインアーキテクチャを活用するために、JettyベースのWARでデプロイされたWebアプリをOSGiに移行しました。私の元のアプリケーションはどこでもguiceを使用していました。
私はすべてをモジュールに分割し、ビルドをMaven-iszedしました。ServletModuleの厄介なインストールを除いて、すべてが機能しているようです。
ServletModuleをインストールしようとすると、次の例外が発生します。
そのため、これらのバンドルが見つからない理由がよくわかりません。サーブレットとサーブレットの依存関係を追加し、デプロイされたバンドルに組み込まれていることを確認しました。
もう1つの重要な点は、GuiceFilterの登録だと思います。Jettyを使用しているので、ServiceTrackerを使用してExtHttpServiceを取得します。そのトラッカーが戻ってきたら、通常の呼び出しを使用して登録を追加します
そして、それはうまくいくようです。私はこれらのものを機能させるのに本当に苦労していて、Guice / OSGi/Peaberryの部分の中間に少し引っかかっています。どんな助けでも大歓迎です。
ありがとう!
osgi - Jersey を使用した動的 REST サービス宣言
ジャージーの Jetty に埋め込まれた OSGI の Guice に基づいたアーキテクチャをセットアップしようとしています。Jersey REST サービスを動的に登録/削除できるようにしたいと考えています。jersey コンテキストへの参照を取得し、動的にインストールされたバンドルから新しい REST サービスを追加する方法。ありがとう
java - osgi バンドルを同時にインストールして起動する方法
A と B という 2 つのバンドルがあります。A は B に依存します (A のマニフェストで Required-Bundle:B として指定されています)。
ここで、A と B の両方のバンドルを 1 つずつインストールしました (BundleContext.installBundle を呼び出して)。次に、バンドル A を開始しようとすると、次のエラーが発生します
例外から、バンドル B がまだ開始 (解決) されていないことがわかりました。では、この問題を解決するにはどうすればよいでしょうか。
この問題を解決する唯一の方法は、バンドルを依存関係でソートすることですか? または、OSGi ランタイムにフォルダーを指定して、そこにコピーされたバンドル ファイルがアクティブになるようなオプションはありますか?
ちなみに私はEquinoxを使っています。