問題タブ [karaf]
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.
osgi - OSGI (Karaf) の OpenJPA を使用した動的ランタイム拡張による拡張されていないエンティティー
それぞれ 3 つのカスタム バンドル (api、impl、web) を含む 3 つの Karaf 機能があります。各機能の「impl」バンドルには、その機能で使用されるエンティティも含まれています。これらの機能を Karaf 3.0.1 にデプロイし、Karaf 3.0.1 に付属の OpenJPA 2.3.0 を永続化プロバイダーとして使用します。
3 つの機能のエンティティに対して、動的ランタイム拡張を使用します。2 つの機能の場合、エンティティは展開時に常に強化され、正常に動作します。問題は、3 番目のフィーチャーの場合、Karaf と OpenJPA がエンティティーのサブセットを拡張できず、次の例外が発生する場合があることです。
このオプションは認識していopenjpa.RuntimeUnenhancedClasses
ますが、既知の制限があり、OpenJPA 2.0.0 ではデフォルトで無効になっているため、使用したくありません。
私たちはコンパイル時の拡張機能を認識しており、それをうまく使用していますが、実行時の拡張機能を有効にしようとする理由があります。
私たちの現在の理解では、EntityManagerFactory の作成時に、OpenJPA は PersistenceUnitInfo コールバック (Karaf によって使用される ClassTransformer) を介して Aries JPA に登録されます。この ClassTransformer は、実際には最初の 2 つの機能のすべてのエンティティに使用されますが、3 番目の機能のエンティティのサブセットにのみ使用されます。
さらに調査して、ClassTransformer が登録された時刻と、各エンティティ クラスが読み込まれた時刻をログに記録しようとしました。2 つの成功したバンドルと失敗したバンドルの違いに気付きましたが、これは関連する場合と関連しない場合があります。後続のバンドルの場合、Aries JPA フィーチャーは、ClassTransformer 登録の直前に各エンティティ クラスのロードを試みますが、失敗したモジュールの場合、そのような試みはありません。
java - OSGi Karaf のエラー「Web メソッドの wsdl:binding 操作情報が見つかりませんでした」
OSGi コンテナーで実行する必要があるクライアントを開発しています。cxf-codegen-plugin によって生成されたスタブを使用しています。次のスタンドアロン アプリケーションは正常に動作します。
OSGiコンテナで同じことを試してみると(OSGiのfelix実装を使用するkarafを使用しています)。うまくいきません!この例外を見せてくださいjavax.xml.ws.WebServiceException: Could not find wsdl:binding operation info for web method callService.
。コードは次のようになります。
このコードを機能させるにはどうすればよいですか?
osgi - プロパティが表示されるまで OSGi サービスの開始をブロックする
次のクラスだけを含むバンドルがあるとします。
次のブループリント構成を使用してクラス FullName のオブジェクトを作成することにより、このサービスをインスタンス化します。
Karaf 3.0を使用しています。プロパティは存在せず、$KARAF_HOME/etc/FullNameApp.cfg も存在しません。これらのプロパティが表示されるまで、このバンドル ブロックの開始を永久に行うにはどうすればよいですか?
osgi - カラフのクォーツ
Quartz トリガーで OSGi サービスにアクセスするにはどうすればよいですか?
以下では、タイマーがトリガーされると、私のサービス companyDao は null になります。バンドル コンテキストをスケジューラまたはジョブに与える必要がありますか? もしそうなら、どのように?
java - Jetty: 一般ホストのセットアップ
test.localhost:8080/myapp
の代わりに特定の仮想ホストから開始して、デプロイされたすべての webapps を開くように Jetty に強制するにはどうすればよいlocalhost:8181/myapp
ですか?
これは jetty.xml のスニペットです。
... 私は値で遊んでみましjetty.host
たが、まだ成功していません。:(
方法?
python - Python pexpect - スポーンの確立に時間がかかる
pexpect.spawn は、呼び出し元の Python スクリプトに戻るのに時間がかかりますか?
pexpect を使用してコマンドを挿入し、Karaf コンテナーを管理するスクリプトを作成しています。Karaf が実行されていない場合isalive()
、スクリプトに一時停止を挿入しない限り、常に確実に使用できるとは限らないことに気付きました。
例えば:-
コメントアウトするとtime.sleep(1)
、isalive()
Karaf が実行されていなくても true が返されます。
がスリープの前か後かに応じて、logfile_read
何もキャッチしないか、次のいずれかをキャッチします。
恣意的なスリープよりも信頼性の高いものが欲しいです。
java - Karaf: 仮想ホストの構成方法
Karaf で仮想ホストを設定するには?
Karaf には Jetty が埋め込まれているのでcontext.xml
、以下のコンテンツで作成し、これを/etc
フォルダーに入れました。
...しかしtest.localhost:8181
、私にもたらします404
。
構成ファイルの場所に関するドキュメントの指示は私には不明です。何が間違っていたのか教えていただけますか?
cfgファイルの場所についてだと思います...
shell - Karaf シェル コマンドのスクリプトを作成しますか?
Karaf シェル コマンドを非対話的に、できればスクリプトから発行する必要があります。具体的にfeature:install
は、自動化された方法で一連の機能を Karaf に伝える必要があります。
これは可能ですか?この問題を解決する別の方法 (一連の Karaf 機能の自動インストール) はありますか?
servlets - Karaf および Eclipse Equinox OSGI サービス
OSGI で適切に動作するはずの Java Webframeworks に関する一連のブログで、私は Karaf を詳しく調べています。私のテスト ケースは非常に簡単で、Karaf にサーブレットをデプロイします。OSGI にはさまざまな HTTPService 実装があります。私は Equinox 実装 (org.eclipse.osgi.services) で試しています。
バンドルは HTTPService の依存関係がなくても問題なくロードされますが、HTTPService [3]、Servlet の依存関係を追加して機能 [1] をインストールしようとすると、問題が発生します [2]。
ノート:
- HTTP サービス自体は、OSGI DS サービスを使用してインストールされます [3]。
- Karaf は Equinox OSGI impl を使用するように構成されています。
したがって、苦情はaries-blueprintに関するものですが、インストールしようとしているバンドルには依存関係がありません。
コミュニティからのアドバイスは大歓迎です!
ありがとう、クリストフ・ブイエ
[1] oss2 という名前の Karaf 機能
[2] エラー:
[3] サービス