問題タブ [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.

0 投票する
5 に答える
7822 参照

java - Javaでの動的プラグインの実装

Javaアプリケーションに動的プラグイン機能を実装したいと思います。理想的には:

  • アプリケーションは、のPluginようなメソッドでインターフェースを定義しますgetCapabilities()
  • プラグインは、実装pluginX.jarするクラス(およびおそらく他のいくつか)を含むJARになります。PluginXImplPlugin
  • ユーザーはpluginX.jar、特別なディレクトリに配置するか、それを指す構成パラメーターを設定します。ユーザーは必ずしもpluginX.jarクラスパスに含める必要はありません。
  • アプリケーションはPluginXImpl(おそらくJARマニフェストを介して、おそらくリフレクションによって)それを見つけてレジストリに追加します。
  • クライアントはPluginXImpl、たとえば、のようなメソッドを呼び出すことによって、のインスタンスを取得できますgetPluginWithCapabilities("X")。ユーザーは必ずしもプラグインの名前を知っている必要はありません。

ピーベリーでこれができるはずだと思いますが、ドキュメントの意味がわかりません。私はGuiceの学習に時間を費やしてきたので、私の好みの答えは「SpringDynamicModulesを使用する」ではありませ

Guice / peaberry、OSGi、または単なるJavaを使用してこれを行う方法について誰かが私に簡単なアイデアを教えてもらえますか?

0 投票する
2 に答える
1245 参照

osgi - Peaberry for Guice はどのような問題を解決しますか?

OSGIがこの質問のおかげで解決した問題を理解しています....

OSGi は何を解決しますか?

そして、私は Guice が素晴らしいことを確信しているので、"peaberry" として知られる Guice の OSGI 統合が何をするのか興味があります。Maven 3 プレゼンテーションでさえ、どこにでも現れているようです。

http://code.google.com/p/peaberry/

0 投票する
2 に答える
507 参照

osgi - Guice-to-OSGi の指針、経験、ヒントなどを探しています

Guice は、API を実装から分離し、アプリケーションのモジュール化を開始するための優れたフレームワークです。OSGi は、バージョン管理されたサービスを独自の安全な環境にロードし、エクスポートされた API を介してこれらを提供するための優れたフレームワークです。

アプリケーションが Guice で開発されており、そのサイズが OSGi に移行して初期のモジュールを新しい本格的なサービスに変換することを正当化すると仮定すると、この移行を実行するための原動力となるステップは何ですか?

指針となる原則、段階的な To Do リスト、戦争経験、ヒント、注意事項などを探しています。

0 投票する
1 に答える
914 参照

osgi - GuiceとOSGiサービスの統合

GuiceとOSGiを統合する現在の状況はどうですか?つまり、GuiceからOSGiサービスを公開したり、それらを注入したりします。

Peaberryのメインページには「TheGuicetrunk(2.0になる)」と記載されていますが、1.2はhttp://code.google.com/p/peaberry/issues/detail?id=58を修正しているため、最新のようです。作者はシスを切り替えましたが、まだリリースされていないようです。他のもの?

0 投票する
1 に答える
461 参照

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の部分の中間に少し引っかかっています。どんな助けでも大歓迎です。

ありがとう!

0 投票する
1 に答える
580 参照

osgi - Jersey を使用した動的 REST サービス宣言

ジャージーの Jetty に埋め込まれた OSGI の Guice に基づいたアーキテクチャをセットアップしようとしています。Jersey REST サービスを動的に登録/削除できるようにしたいと考えています。jersey コンテキストへの参照を取得し、動的にインストールされたバンドルから新しい REST サービスを追加する方法。ありがとう

0 投票する
1 に答える
509 参照

java - osgi バンドルを同時にインストールして起動する方法

A と B という 2 つのバンドルがあります。A は B に依存します (A のマニフェストで Required-Bundle:B として指定されています)。

ここで、A と B の両方のバンドルを 1 つずつインストールしました (BundleContext.installBundle を呼び出して)。次に、バンドル A を開始しようとすると、次のエラーが発生します

例外から、バンドル B がまだ開始 (解決) されていないことがわかりました。では、この問題を解決するにはどうすればよいでしょうか。

この問題を解決する唯一の方法は、バンドルを依存関係でソートすることですか? または、OSGi ランタイムにフォルダーを指定して、そこにコピーされたバンドル ファイルがアクティブになるようなオプションはありますか?

ちなみに私はEquinoxを使っています。