問題タブ [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.
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 スペースは、展開されたすべてのアプリケーションに十分なメモリがないことを意味するため、問題があるとは思いません。誰かがどこに問題があるのか を知っていれば、それは非常に役に立ちます。
java - OSGi バンドル間の OpenJPA 永続性
OSGi
Apache Karaf コンテナーに2 つのバンドルをデプロイしています。それらが A と B であるとしましょう。A バンドルは、すべてのデータベース エンティティと永続化ロジックを含むメイン バンドルです。BOSGi
バンドルは、A のメソッドを使用してデータをデータベースに保存するアプリケーションです。また、バンドル B にはCXF
Web サービス エンドポイントがあります。永続性は によって処理されOpenJPA
ます。
バンドル A のメソッドは、エンティティ マネージャーの永続化メソッドをラップします。バンドル B には、バンドル A で定義され、データを永続化するメソッドを持つパラメーターとしてオブジェクトを受け取るメソッドがあります。バンドル B でそのメソッドを呼び出すと、すべて問題なく、データは期待どおりデータベースに永続化されます。
問題は、Spring Bean として公開され、更新する必要があるエンティティを見つけるためのステートメントを含むバンドル A からのオブジェクトへの参照を持つB バンドルのCXF
エンドポイント実装クラスのエンティティを更新したいことです。OSGi
find
メソッドを呼び出すとエンティティが正しく返されますfind
が、新しい値を設定すると、トランザクションがコミットされず、データがデータベースに表示されません。
私が知っているOpenJPA
機能の 1 つは、オブジェクトに永続化を呼び出すと、後でそれに新しいデータを設定でき、そのエンティティを更新するために必要なトランザクションが行われることです。私の場合はうまくいかないようです。CXF
エンドポイント実装クラスに注釈を付けようとしましたorg.springframework.transaction.annotation.Transactional
。しかし、これもうまくいきません。
たぶん、誰かがどこに問題があるのか 知っていますか?CXF
エンドポイントでエンティティを更新するクエリを作成する必要がありますか?
java - Camel Jetty のカスタム基本認証
OSGi
Apache Karaf にデプロイされたバンドルがあります。BASIC
認証を使用してユーザーの資格情報を確認しています。ここに私の設定Spring
ファイルがあります:
この URL を入力するhttp://localhost:8282/services
と、ブラウザに基本認証ウィンドウが表示され、ユーザー名とパスワードが要求されます。ここまではOKです。
ユーザーの認証情報はuser.properties
ofApache Karaf
&{base.dir}/etc/
ディレクトリに設定されています。そこから、オーセンティケーターはユーザー資格情報を取得してチェックします。
私の問題は、データベースからの資格情報を使用するために、オーセンティケーターを何らかの方法でオーバーライドする必要があることです。どこから始めればよいかわからないため、これを機能させるためにまだ何も試していません。私はインターネットを検索しようとしましたが、これを機能させる方法や、どこから始めればよいかについての手がかりがありません。したがって、誰かがこれを行う方法について正しい方向に向けることができれば、それは非常にありがたいです.
java - Jetty から絶対 URL へのキャメル ルート
にOSGi
バンドルを展開していApache Karaf
ます。私は単純なラクダルートを持っています:
私はそれを働かせることができません。呼び出すと、 の下に指定された にhttp://localhost:8282/services
ルーティングする必要があります。代わりに、次の例外が発生しています。uri
setHeader
java.lang.IllegalArgumentException: 無効な uri: /services. http エンドポイントを転送/ブリッジしている場合は、エンドポイントで bridgeEndpoint オプションを有効にします。
ブリッジ エンドポイントを有効にする必要があると表示されていますが、これはエンドポイントではなく、ルートを指定しようとしている絶対 URL です。
ここSpring
に示すように設定しようとしましたが、これも機能しませんでした。これも変更しようとしました:
これに:
同様に成功もありません。jetty
uri
多分誰かが絶対にルーティングする方法を知っていますurl
か?
eclipse - EclipseでのFuseESBアプリケーションのデバッグ
Fuse ESBは、OSGiでkarafサーバーを使用します。
誰かがアプリケーションのデバッガーを取得する手順を持っている場合は、コードの場合に役立ちます。
現在、EclipseIndigoを使用しています。OSGiが使用されているため、Mavenを使用して同じものを構築しています。
OSGiでKarafに役立つプラグイン
java - OSGi バンドルで Spring AOP を使用する
Spring AOP
をロギング目的で使用しようとしています。OSGi
ロギング バンドルとその中のサービスをセットアップしました。
OSGi
ロギングバンドルのサービスを参照として使用する他のバンドルがありOSGi
ます。
ロギング バンドルがデプロイされApache Karaf
、実行されています。他のバンドルをデプロイできません。
私のバンドルの春の設定はそのようなものです:
バンドルを開始しようとすると、次のようになります。
maven 依存関係を my に追加しましたpom.xml
:
それでも問題は解決しません。ここで何が欠けていますか?
java - OSGi バンドル間でのオブジェクトの共有
に 2 つのOSGi
バンドルを展開していApache Karaf
ます。A
とB
。私のA
OSGi
バンドルは、基本認証ハンドラーとして機能します。正常に動作するセキュリティ ハンドラをセットアップしました。
このハンドラは bundle にありA
ます。私がする必要があるのは、このハンドラーをOSGi
他のバンドル (この場合は bundle ) によって使用されるサービスとして作成することB
です。パッケージConstraintSecurityHandler
からのものであるため、クラスへのインターフェイスを実装できません。org.eclipse.jetty.security
独自の Handler クラスを作成してからConstraintSecurityHandler
、インターフェースを拡張して実装しようとしました。したがって、OSGi
サービスは次のようになります。
これは機能しません。例外が発生します。
問題は、このsecurityHandler
Bean をOSGi
サービスとして他のOSGi
バンドルで利用できるようにするにはどうすればよいかということです。
java - ApacheKarafのOSGiバンドルでSpringAOPロギングを設定する
にデプロイされているバンドルでSpring AOP
ロギングを設定しようとしています。これは私の投稿に関連しています。そこに提供された答えは私を助けませんでした。Mavenの依存関係を追加した場合:OSGi
Apache Karaf
たくさんのパッケージをエクスポートする必要があります。
最後のもの(com.bea.jvm.*)
がすべてを分解している間。バンドルを開始しようとすると、要件が欠落しているというエラーが表示され、このパッケージが欠落していると表示されます。(package=com.bea.jvm)
。しかし、それはエクスポートされます。上記のMaven依存関係の代わりに、他の別の依存関係も試しましたが、同じ問題があります。
私がここで欠けているものは何ですか?OSGi
とに関連するインターネット上の情報はあまりありませんAOP
。誰かが私を助けることができますか?私はここで立ち往生しています...
java - Apache Karaf バンドル コンテキスト リスナー
Web アプリケーションには、ServletContextListener
メソッドを持つインターフェースがありcontextInitialized
、アプリケーションの起動時に呼び出されます。Apache Karaf
バンドルが開始されたときOSGi
にコンテナによってメソッドが呼び出され、バンドルが停止しているときにコンテナによっていくつかの停止メソッドが呼び出されることに似たものがあることを知りたいです。にそのようなものはありApache Karaf
ますか?
私もSpring
バンドルで使用しているので、どういうわけかこれを使用して行うことができSpring
ますか? 使用方法を調べてみましたが、情報OSGi
がApache Karaf
見つかりませんでした。
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?