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

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

java - Apache Karaf 起動スクリプト。より多くのパーマメモリを設定するには?

karaf の permgen メモリを増やす方法を見つけようとしています。karaf の起動スクリプトには、次のようなものがあります。

JAVA_PERM_MEMとが変数であることは理解してJAVA_MAX_PERM_MEMいますが、ここ以外の起動スクリプトのどこにも定義されていません。

カラフはライブマシンで実行されているため、実験を行いたくないので、次のようにする場合は確認する必要があります。

permgen メモリを増やしますか? 私がそれをする必要がある理由は、私が得続けているからです:Caused by: java.lang.OutOfMemoryError: PermGen space

編集:

karaf にデプロイされたすべてのバンドルは Spring 関連であり、camel ルート、cxf エンドポイント、OpenJPA 永続化構成がすべて Spring 経由で管理されます。しかし、私が知っているように、OutOfMemory PermGen スペースは、展開されたすべてのアプリケーションに十分なメモリがないことを意味するため、問題があるとは思いません。誰かがどこに問題があるのか​​ を知っていれば、それは非常に役に立ちます。

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

java - OSGi バンドル間の OpenJPA 永続性

OSGiApache Karaf コンテナーに2 つのバンドルをデプロイしています。それらが A と B であるとしましょう。A バンドルは、すべてのデータベース エンティティと永続化ロジックを含むメイン バンドルです。BOSGiバンドルは、A のメソッドを使用してデータをデータベースに保存するアプリケーションです。また、バンドル B にはCXFWeb サービス エンドポイントがあります。永続性は によって処理されOpenJPAます。

バンドル A のメソッドは、エンティティ マネージャーの永続化メソッドをラップします。バンドル B には、バンドル A で定義され、データを永続化するメソッドを持つパラメーターとしてオブジェクトを受け取るメソッドがあります。バンドル B でそのメソッドを呼び出すと、すべて問題なく、データは期待どおりデータベースに永続化されます。

問題は、Spring Bean として公開され、更新する必要があるエンティティを見つけるためのステートメントを含むバンドル A からのオブジェクトへの参照を持つB バンドルのCXFエンドポイント実装クラスのエンティティを更新したいことです。OSGifind

メソッドを呼び出すとエンティティが正しく返されますfindが、新しい値を設定すると、トランザクションがコミットされず、データがデータベースに表示されません。

私が知っているOpenJPA機能の 1 つは、オブジェクトに永続化を呼び出すと、後でそれに新しいデータを設定でき、そのエンティティを更新するために必要なトランザクションが行われることです。私の場合はうまくいかないようです。CXFエンドポイント実装クラスに注釈を付けようとしましたorg.springframework.transaction.annotation.Transactional。しかし、これもうまくいきません。

たぶん、誰かがどこに問題があるのか​​ 知っていますか?CXFエンドポイントでエンティティを更新するクエリを作成する必要がありますか?

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

java - Camel Jetty のカスタム基本認証

OSGiApache Karaf にデプロイされたバンドルがあります。BASIC認証を使用してユーザーの資格情報を確認しています。ここに私の設定Springファイルがあります:

この URL を入力するhttp://localhost:8282/servicesと、ブラウザに基本認証ウィンドウが表示され、ユーザー名とパスワードが要求されます。ここまではOKです。

ユーザーの認証情報はuser.propertiesofApache Karaf &{base.dir}/etc/ディレクトリに設定されています。そこから、オーセンティケーターはユーザー資格情報を取得してチェックします。

私の問題は、データベースからの資格情報を使用するために、オーセンティケーターを何らかの方法でオーバーライドする必要があることです。どこから始めればよいかわからないため、これを機能させるためにまだ何も試していません。私はインターネットを検索しようとしましたが、これを機能させる方法や、どこから始めればよいかについての手がかりがありません。したがって、誰かがこれを行う方法について正しい方向に向けることができれば、それは非常にありがたいです.

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

java - Jetty から絶対 URL へのキャメル ルート

OSGiバンドルを展開していApache Karafます。私は単純なラクダルートを持っています:

私はそれを働かせることができません。呼び出すと、 の下に指定された にhttp://localhost:8282/servicesルーティングする必要があります。代わりに、次の例外が発生しています。urisetHeader

java.lang.IllegalArgumentException: 無効な uri: /services. http エンドポイントを転送/ブリッジしている場合は、エンドポイントで bridgeEndpoint オプションを有効にします

ブリッジ エンドポイントを有効にする必要があると表示されていますが、これはエンドポイントではなく、ルートを指定しようとしている絶対 URL です。

ここSpringに示すように設定しようとしましたが、これも機能しませんでした。これも変更しようとしました:

これに:

同様に成功もありません。jetty uri多分誰かが絶対にルーティングする方法を知っていますurlか?

0 投票する
3 に答える
5805 参照

eclipse - EclipseでのFuseESBアプリケーションのデバッグ

Fuse ESBは、OSGiでkarafサーバーを使用します。

誰かがアプリケーションのデバッガーを取得する手順を持っている場合は、コードの場合に役立ちます。

現在、EclipseIndigoを使用しています。OSGiが使用されているため、Mavenを使用して同じものを構築しています。

OSGiでKarafに役立つプラグイン

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

java - OSGi バンドルで Spring AOP を使用する

Spring AOPをロギング目的で使用しようとしています。OSGiロギング バンドルとその中のサービスをセットアップしました。

OSGiロギングバンドルのサービスを参照として使用する他のバンドルがありOSGiます。

ロギング バンドルがデプロイされApache Karaf、実行されています。他のバンドルをデプロイできません。

私のバンドルの春の設定はそのようなものです:

バンドルを開始しようとすると、次のようになります。

maven 依存関係を my に追加しましたpom.xml:

それでも問題は解決しません。ここで何が欠けていますか?

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

java - OSGi バンドル間でのオブジェクトの共有

に 2 つのOSGiバンドルを展開していApache Karafます。AB。私のA OSGiバンドルは、基本認証ハンドラーとして機能します。正常に動作するセキュリティ ハンドラをセットアップしました。

このハンドラは bundle にありAます。私がする必要があるのは、このハンドラーをOSGi他のバンドル (この場合は bundle ) によって使用されるサービスとして作成することBです。パッケージConstraintSecurityHandlerからのものであるため、クラスへのインターフェイスを実装できません。org.eclipse.jetty.security

独自の Handler クラスを作成してからConstraintSecurityHandler、インターフェースを拡張して実装しようとしました。したがって、OSGiサービスは次のようになります。

これは機能しません。例外が発生します。

問題は、このsecurityHandlerBean をOSGiサービスとして他のOSGiバンドルで利用できるようにするにはどうすればよいかということです。

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

java - ApacheKarafのOSGiバンドルでSpringAOPロギングを設定する

にデプロイされているバンドルでSpring AOPロギングを設定しようとしています。これは私の投稿に関連しています。そこに提供された答えは私を助けませんでした。Mavenの依存関係を追加した場合:OSGiApache Karaf

たくさんのパッケージをエクスポートする必要があります。

最後のもの(com.bea.jvm.*)がすべてを分解している間。バンドルを開始しようとすると、要件が欠落しているというエラーが表示され、このパッケージが欠落していると表示されます。(package=com.bea.jvm)。しかし、それはエクスポートされます。上記のMaven依存関係の代わりに、他の別の依存関係も試しましたが、同じ問題があります。

私がここで欠けているものは何ですか?OSGiとに関連するインターネット上の情報はあまりありませんAOP。誰かが私を助けることができますか?私はここで立ち往生しています...

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

java - Apache Karaf バンドル コンテキスト リスナー

Web アプリケーションには、ServletContextListenerメソッドを持つインターフェースがありcontextInitialized、アプリケーションの起動時に呼び出されます。Apache Karafバンドルが開始されたときOSGiにコンテナによってメソッドが呼び出され、バンドルが停止しているときにコンテナによっていくつかの停止メソッドが呼び出されることに似たものがあることを知りたいです。にそのようなものはありApache Karafますか?

私もSpringバンドルで使用しているので、どういうわけかこれを使用して行うことができSpringますか? 使用方法を調べてみましたが、情報OSGiApache Karaf見つかりませんでした。

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

java - Why is my Karaf OSGI bundle marked UNSATISFIED, when all references are satisfied?

Karaf is showing my bundle as being UNSATISFIED despite all the references being satisfied.

I am using the following three components - relevant console output from scr:list:

Components 16 and 14 provide the following services (output from service:list):

Within the barchart-news-server bundle that these both are part of, references are satisfied and bound as expected (output from scr:details):

However, in the component from the second bundle (#20) that depends on these services, although Karaf marks the references as "satisfied", it does not bind them and activate the component:

scr:details for com.barchart.news.modules.mysql.MySQLIndex:

What is preventing the MySQLIndex bundle from being activated?