問題タブ [osgi]
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.
tomcat - OSGiプラグインはTomcatで起動しません
私は、Tomcatjsfプロジェクトで開始するように要求しているアクティベーターを備えたOSGiプラグインを持っています。
http://www.eclipse.org/equinox/documents/quickstart.phpおよびその他のいくつかのドキュメントに基づいて、この構造をWEB-INFディレクトリーの下に配置して、osgiの分点実装を開始しました。プラグインに直接アクセスすることはできましたが、別のプラグインからプラグインを参照することでプログラムでアクセスすることはできませんでした。これがその例です。
MyProject configuration / config.ini org.eclipse.osgi_3.3.0.jar org.eclipse.equinox.common_3.3.0.jar org.eclipse.update.configurator_3.2.100.jar plugins / com.fnet.tts.service_1.0.0.jar
config.iniに次の2行を配置しました
osgi.bundles = org.eclipse.equinox.common @ 2:start、org.eclipse.update.configurator @ start、org.eclipse.equinox.registry @ 3:start、com.fnet.tts.service@4:start osgi .bundles.defaultStartLevel = 4
ただし、tts.serviceを呼び出すバンドルをアクティブ化しようとすると、このエラーが発生します。
詳細:com.fnet.runtime.KSException:com.runtime.impl.RuntimeServiceImpl $ KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:190)でバンドル'com.fnet.tts.service.viewSchedule_2.0.0.jar'を開始できません..loadKnowledgebaseHandle(InterviewContext.java:83)原因:org.osgi.framework.BundleException:バンドルを解決できませんでした。理由:制約がありません:Require-Bundle:com.fnet.tts.service; bundle-version = "1.0.0" at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl eHost.java:305)at org.eclipse.osgi.framework.internal.core.AbstractBundle.start( Abstrac tBundle.java:265)at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac tBundle.java:257)at com.fnet.runtime.impl.RuntimeServiceImpl $ KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:
私はこれを何時間も見てきました、そして私は前進することができるように手がかり、ヒント、または答えを探しています。
ありがとう。
java - Equinox Servle Bridge を使用して OSGi アプリを Tomcat にデプロイするときに Log4J を構成する方法は?
Equinox サーブレット ブリッジを使用して OSGi Web アプリケーションをデプロイすると、次のようになります。
必要な「log4j.properties」ファイルを提供するいくつかの方法を試しました。
- context-param "log4jConfigLocation" をサーブレット ブリッジ web.xml に追加する
- WEB-INFフォルダーにフォルダー「classes」を作成し、そこにlog4j.propertiesファイルをコピーします(そして、他のいくつかの場所にコピーします)
- log4j バンドルを削除し、「extendedFrameworkExports」を org.apache.log4j に設定して、(私が推測するに) tomcat log4j が使用されるようにします...これは機能しませんでした。 ..もうそこにはありません...
もちろん、log4j バンドルを log4j.properties ファイルで拡張するフラグメント バンドルもありますが、この log4j バンドルは使用されていないようです。
追加: Eclipse でアプリケーションを開発していることを追加する必要があります... log4j / slf4j を構成するフラグメント バンドルがそこで動作します。
誰かがこれを解決しましたか?何か案は?
.net - MEF OSGi は .NET 用ですか?
現時点では、 Managed Extensibility Framework ( MEF ) について頭を悩ませ、少し掘り下げようとしています。私はEclipseのバックグラウンドを持っているので、私の脳には現在方程式があります:
MEF =~ OSGi for .NET
今まで聞いた話によると。私は正しい線にいますか?
spring - 春分のジャスパー - jstl コア uri を解決しない
私は現在、Spring で OSGi を研究しており、Pro Spring Dynamic Modules for OSGiのいくつかの例に取り組んでいます。
私のサンプル Web アプリには、次のような単一のコントローラーがあります。
ビュー リゾルバーは次のように構成されます。
URL を呼び出すと、単一の Bean を含む'http://localhost:8080/helloworld-web/spring/home'
ビューjsp/home.jsp
がレンダリングされます。helloworld
ただし、次のスタック トレースが表示されます。
これは OSGi バンドルとしてデプロイされた WAR であるため、そのWEB-INF/lib
ディレクトリーは完全に空です。
私の理解では、jasper の OSGi バージョンは、個々の Web アプリの外部で taglib 記述子と JAR を探すということでしたか?
他の誰かがこれを見たことがありますか?
java - サンドボックス (AppEngine や WebStart など) で実行できる Mini-OSGi?
OSGi によって実装されたモジュラー バンドルの概念がとても気に入っています。
また、Google AppEngine (Web アプリケーション用) や Java WebStart (クライアント ソフトウェア用) などの「マネージド デプロイメント」サービスも気に入っています。
これらの 2 つのアイデアは、概念的には互いに補完し合っているように見えます。
ただし、OSGi 標準には、AppEngine や Webstart などのサンドボックス化された仮想マシン上で Felix や Equinox などの実装を実行することを不可能にする機能がいくつか含まれています。これらの環境では、ファイル システムに直接アクセスすることはできません。たとえば、永続的なバンドル状態とネイティブ ライブラリを格納するために使用される OSGi バンドル キャッシュが除外されます。
現在、ネイティブ ライブラリの使用や、永続的なバンドル状態の使用にはあまり関心がありません。OSGi のコア バンドルとサービスの概念を実装するフレームワークはありますか (理想的には、OSGi バンドルをそのままデプロイできるように互換性のある方法で)、バンドル キャッシュがなくても機能します (およびサンドボックスでは利用できないその他の機能)。 ?
AppEngine または WebStart で動作する限定バージョンの Felix のようなものを探しています。
もちろん、WebStart エンジンと Google AppEngine がすぐに使える OSGi フレームワーク サービスを提供していれば、それも素晴らしいことです...
更新: AppEngine のもう 1 つの非常に制限的な側面は、新しいスレッドを開始できないことです。これにより、(とりわけ)非同期バンドルのライフサイクル管理が妨げられます。明らかに、WebStart の問題ではありません。
java - jar をラップする OSGi サービス
別の jar をラップする OSGi サービスを作成しようとしています。jar をプロジェクト、クラスパス、およびバイナリ ビルドに追加しました。サービスを Activator に登録しましたが、使用するバンドルがサービスを呼び出すと、ラッパー jar で java.lang.NoClassDefFoundError が発生します。ここで私が間違っていることを誰かが知っていますか?
前もって感謝します。
java - インターフェイスの複数の実装者。OSGiはどうですか?
プロジェクトのプラグインを管理する手段としてOSGIを使用することに興味があります。つまり、私のインターフェースには多くの実装者が存在する可能性があり、それぞれが独自の/個別のOSGIバンドルに表示され、実装クラスがエクスポートされます...
osgi - インストール/アクティブ化せずにOSGiバンドルによってエクスポートされたタイプを検出するにはどうすればよいですか?
基本的に、私はjarがバンドルをアクティブ化または開始せずに任意の数のインターフェースを実装しているかどうかを発見したいと思います。コンテナーと同じように、バンドルをアクティブ化せずに、APIからmeta-infからメタデータを読み取ることは可能ですか?
OSGiを使用して、多数のインターフェースが公開されるプラグインをサポートしたいのですが、ユーザーがバンドルなどをアクティブ化せずにアップロードしたときに、バンドルによって実装されるインターフェースを知りたいです。
java - Apache Felix: 拡張バンドルとは何ですか?
Apache Felix には「拡張バンドル」という概念があります。これはシステムバンドルに貢献するバンドルのようです。それらのために登録されている特別な URL "felix://extensions/" もあります。
通常のバンドルではなく、拡張機能を使用する必要があるのはいつですか?
このアプローチを使用するバンドルの例はありますか?
これは Felix 専用の機能ですか、それとも OSGi 仕様の一部ですか?
osgi - 動的プラグイン管理/更新
つまり、あるプラグインが他のプラグインを適切なフォルダに[ダウンロードして]コピーしたり、リンクファイルを作成したりする場合、再起動せずにプラットフォームと動的に統合できますか?
したがって、再起動せずに時間とともに進化する常時稼働のサーバーを構築することは可能であるように思われます。それは要求された(この単語についてはよくわかりません、英語は私のネイティブではありません)機能ですか?つまり、ビジネスにはそれが必要ですか、それとも再起動する方が簡単で大丈夫ですか?私が見るもう1つの利点は、古いバージョンの互換性です...