タグ付けされた質問 「osgi」

15
OSGiは何を解決しますか?
ウィキペディアやOSGiに関する他のサイトを読んだことがありますが、全体像がよくわかりません。それはコンポーネントベースのプラットフォームであり、実行時にモジュールをリロードできると言っています。また、どこにでもある「実用的な例」は、Eclipseプラグインフレームワークです。 私の質問は: OSGiの明確でシンプルな定義は何ですか? それはどのような一般的な問題を解決しますか? 「一般的な問題」とは、「OSGiが仕事をより効率的/楽しく/簡単にするためにOSGiで何ができるか」のような、私たちが毎日直面する問題を意味します。
279 java  components  osgi 

1
両方のチェーンが同じバンドルで終わっているときに、use制約に違反するのはなぜですか?
4つのバンドルがあり、それぞれにマニフェストのみが含まれています。バンドルは app輸入com.example.foo.fragmentとcom.example.bar foo どの輸出 com.example.foo;uses:=com.example.foo.cfg foo.fragmentこれはfooそのエクスポートに添付されたフラグメントでcom.example.foo.fragmentあり、com.example.foo.fragment.cfg;uses:=com.example.foo.fragment barどのエクスポートcom.example.barとインポートcom.example.foo バンドルレベルの依存関係グラフ: app -> bar | | | v | foo | | v v foo.fragment これらのバンドルをJBoss AS 7.2に一度にすべてインストールすると、問題なく動作します。しかし、初めて、または正常に起動してアンインストールした後で、appバンドルを他のバンドルの後にインストールすると、次の使用制約違反が発生します。 Caused by: org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource com.example.app [HostBundleRevision[com.example.app:0.0. 0]] because it is exposed to package 'com.example.foo.fragment' from resources com.example.foo [HostBundleRevision[com.example.foo:0.0.0]] and …

12
自分のジャーのマニフェストを読む
Manifest私のクラスを提供したファイルを読み取る必要がありますが、使用すると: getClass().getClassLoader().getResources(...) JavaランタイムにMANIFEST最初に.jarロードされたから取得します。 私のアプリはアプレットまたはWebstartから実行される ので、自分の.jarファイルにアクセスできないと思います。 Felix OSGiを起動したExport-packageから属性を実際に読み取りたい.jarので、これらのパッケージをFelixに公開できます。何か案は?


3
OSGi、Java ModularityおよびJigsaw
だから、昨日の朝の時点で、OSGiが何であるかさえ知りませんでした。OSGiは私が何度も何度も何度も作っていくのを見ていた流行語だったので、ついにそれをブラッシュアップするための時間を取っておきました。 それは実際にはかなりクールなもののように思われるので、私は(記録のために)私がOSGiに対していかなる点でも反抗的ではないこと、およびこれがいくつかの「OSGi-bashing」の質問ではないことを述べることから始めたいと思います。 結局のところ、OSGiは基本的にJava ModularityのJSR 277に対応しているようですがJAR、特定の状況で名前空間の解決やクラスローディングの問題につながる可能性のあるファイル仕様の欠陥が認識されています。OSGiは他にも多くの本当にクールなことを行いますが、私が確認できることから、それはその最大の魅力(またはその1つ)です。 私にとって-かなり新しい(数年後の)Java EE開発者として、私たちが2011年に現在Java 7の時代に生きており、これらのクラスローディングの問題が依然として存在していることは、本当に心を揺さぶられます。特に、1つのアプリケーションサーバーに何百ものJARがあり、それらの多くが互いに異なるバージョンに依存し、すべてが(多かれ少なかれ)同時に実行されているエンタープライズ環境では。 私の質問: 私がOSGiに関心があるのと同じくらい、そしてそれが私のプロジェクトに役立つかどうか、またそれが自分のプロジェクトに役立つかどうかを知りたいと思っているのと同じくらい、ただ座ってそのような大きなことを学ぶ時間はありません。少なくとも今。 では、これらの問題が発生した場合、OSGi以外の開発者は何をすべきでしょうか?どのようなJavaのいずれかの場合には(オラクル/日/ JCP)ソリューションは、現在、存在しますか?なぜジグソーパズルはJ7から切り取られたのですか?Jigsawが来年J8で実装されるコミュニティはどれほど確実ですか?Javaプラットフォームの一部ではありませんが、プロジェクトのJigsawを入手することは可能ですか? 私がここで尋ねているのは、パニック、陰謀、そして顔の組み合わせです。OSGiが何であるかがようやく理解できたので、ジグソーのようなものが実現するまでに20年以上かかり、それがリリースから缶詰にされた可能性があることを "理解"しません。それは基本的なようです。 また、開発者として、私のソリューションがOSGiではないことにも興味があります。 また、注:これは「純粋なプログラミング」タイプの質問ではないことを知っていますが、あなたの一部の人があなたの鼻を形から崩す前に、私はこの質問を故意に付けたと述べておきたいと思いますそう。それは、仲間のSOersを最大限に尊敬しているだけであり、私が毎日ここに潜んでいるのを見ている "ITの神々"からの建築レベルの答えを探しているからです。 しかし、SOの質問はいくつかのコードセグメントで裏付けられると絶対に主張する皆さんのために: int x = 9; (このOSGi / Jigsaw / classloader / namespace / JAR hell stuffに参加できる人に感謝します!)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.