問題タブ [bnd]

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 投票する
3 に答える
3578 参照

rest - OSGi JAX-RS および bnd 宣言型サービス

EE アプリケーションを OSGi に移行したいと考えています。私のアプリケーションは、ビジネス ライブラリ、データベース JPA/エンティティ、および REST/WS インターフェイスで構成されています。また、Web クライアントも備えています。

まず、構造のプロトタイプを作成し、すべてのインターフェースとバンドルが OSGi のクリーンな方法で相互に通信できるようにします。特定のベンダーやフレームワークを使わずに、できるだけクリーンな仕様を使用したいと考えています。

マニフェストと宣言型サービスを生成するために bnd maven プラグインを使用しています。次のようなインジェクションを使用して、残りのリソースから OSGI サービス (別のバンドル) に呼び出しを行いたいと考えています。

リソースに bnd のアノテーションを付けたり、注入@Componentしたりできますか? @Resourceすべて正常に動作しますが、サービスは常に null です。

BND のバンドルを web/wab パッケージにするために宣言するにはどうすればよいですか?

私はmavenバンドルを使用しています:

bnd 命令で

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

java - Maven m2 リポジトリ: OBR にする

Maven リポジトリに問題があります。Eclipse 用の BNDTools プラグインをローカルの m2 リポジトリで動作させようとしています。しかし、私の m2 リポジトリは OBR リポジトリではないため、OBR 解決には使用できないと主張しています。

どうやら、Maven-Bundle-Plugin は OBR データを生成するはずですが、私たち (チーム) は、repository.xml がリポジトリ内のすべてのファイルで最新ではないことに気付きました。 XMLファイルですが、これが間違っているのではないかと心配しています。

これが非論理的な回避策のように思えることは承知していますが、私たちが持っているセットアップでは、これが先に進むための最も簡単な方法のように思えたことを保証します.

私の質問は次のとおりです。repository.xml ファイルをすべての OBR データで再構築するにはどうすればよいですか。または、それが失敗した場合、m2 リポジトリを OBR 準拠のリポジトリに設定する方法を教えてください。

よろしくお願いします。

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

osgi - Bnd @Attributeアノテーションとは何ですか?

aQute.bnd.annotation.componentbndlib-1.50.0のパッケージにある注釈を見ると、http://www.aqute.biz/Blog/20091020またはhttp://www.aqute.biz/Bnd/Componentsにリストれていない注釈があります。それは何のために使われますか?@Attribute

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

osgi - OBR がバンドルが必要であると考える理由を見つける

Bndtools OBR 解決が、実行要件を満たすために特定のバンドルが必要であると判断した理由を理解する簡単な方法はありますか? 私の特定のケースでは、すべてのorg.slf4j.*パッケージが にありますが-runsystempackages、それでもslf4j-api.

0 投票する
4 に答える
5487 参照

jenkins - jenkinsへのOSGiベースのアプリケーションの継続的デプロイ

OSGiベースのアプリケーションの場合に継続的デプロイを機能させる方法を理解するために数時間を費やした後、私はついにスタックオーバーフローに関する最初の質問を提起し、私が間違ったことや見逃したことについてのいくつかの兆候を期待しています-どういうわけか間違った方向に進んでいるように感じます...

これが私が達成したいことです:

  1. いくつかのバンドルをビルドし、それらをMavenリポジトリにインストールします(ここでは問題ありません。bndを使用します)

  2. これで、アプリケーションを構成するすべてのバンドル(すべてのテストに合格するなど)ができたので、アプリケーションをデプロイして実行します。つまり、それらのバンドルを使用してOSGiフレームワークを起動します。

  3. 開始は問題ではありません-「mvnpax:provision -Dframework=equinox」がトリックを行います。私のアプリケーションはjettyを起動するので、ブラウザーを介して問題がないかどうかを簡単に確認できます(すべてのテストに加えて)

  4. しかし、今、「継続的」であることを試みて、次にこの手順を適用したいときは、最初にアプリケーションの実行中のインスタンスをシャットダウンすることを確認する必要があります(少なくとも使用されているポートを解放します)。したがって、すべてを再実行するには、最初に古いインストールをシャットダウンする必要があります。

そして、これが私の質問の始まりです。これを手伝ってくれるものはありますか?maven-deploy-pluginがあることは理解していますが、これはWAR / EARファイルを標準のアプリケーションコンテナーにデプロイする場合にのみ役立つようです(再起動する必要はないようです)。

私は本当にOSGi環境を起動するためにいくつかのスクリプトを実行する必要があるだけです-そして次に、それを再び起動する前にそれを正常にシャットダウンします。tomcat、jetty、jbossなどには、shutdown.shスクリプトまたはmvn jetty:stop命令がいくつかありますが、これらの種類のスクリプトを自分で作成する必要がありますか?これは私が間違った方向に進み始めていると思うところです、誰かが私の前にそれらの問題を抱えていて、私が推測するそれらを解決したに違いありません;)

どういうわけかJMXを使用するか、telnetコンソールを使用して実行中のインスタンスにアクセスして「stop0」コマンドを発行できることを理解しましたが、これは間違っていると感じます

jenkinsから開始されたプロセスは、プロジェクトをコンパイル/ビルド/デプロイする必要がありますが、実行時間の長いスレッドは開始しないと思います。そのため、次に再試行するときに最初に強制終了したいプロセスを「外部」で開始する必要があります。

何か案は?多分私は何かが欠けていますか?これに関するご意見をよろしくお願いします!

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

deployment - WebLogic と OSGi

Weblogic Application Server で OSGi コンテナを実行する方法はありますか? JBoss、Glassfish で動作し、OSGi プロジェクトに Equinox サーブレット ブリッジを追加できる可能性があることを知っています (ブリッジの実装が古すぎます)。しかし、OSGi の実装が既に存在するため、OSGi 環境のデプロイが非常に簡単な JBoss/Glassfish 機能に似たものが必要です。私が見つけた記事のほとんどは非常に古いもので、最近のものはありません。誰かがヒントやより良いリンクを手伝ってくれますか?

Bnd で .war ファイルを作成できるかもしれませんが、どうすればそれを実現できますか。可能性があると読みました。例は素晴らしいでしょう!

編集

まだそのケースを調べている人向けです。バージョン 12.1.2 以降、Weblogic はすぐに OSGi をサポートします。

0 投票する
0 に答える
74 参照

bnd - タイプバンドル以外の依存関係の埋め込み

POMの親では、バンドルを構築するためのすべての一般的なルールを定義しています。Embed-Dependency命令で、次のように記述します。

「my-apiアーティファクトとバンドルタイプの依存関係を除いて、スコープのコンパイルまたはランタイムを持つすべての依存関係を埋め込みます。」

スコープartifactIdの制約に対しては機能しますが、 type!=bundleは機能しないようです。

これはすべて、依存関係をバンドルするために提供されたスコープを指定する必要をなくすためです。

何か案が ?

Thks

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

java - Apache Felix を使用して OSGi で AOP をアーカイブする方法

私は現在、いくつかの部分が AOP プログラミングに最適な OSGi プロジェクトに取り組んでいます。OSGi と組み合わせた AOP の経験があまりないので、OSGi 環境で AOP を最適に実行する方法を知りたいですか? この問題に関する記事をいくつか読みましたが、自分に適した解決策が見つかりませんでした。たとえば、AspectJ 用の Equinox インキュベーター プロジェクトがありますが、最後のビルドは 2008 年でした。ところで、ウィービング プロセスの 1 つの要件は、それがコンパイル時であり、場合によってはその後のロード時でもあるということです。さらに、Ant と Bnd を使用してバンドルを構築しています。Aspectj もこのビルド プロセスに統合できれば素晴らしいと思います。

誰かがそのようなユースケースの経験を共有できることを願っています.

編集

これまでのまとめ:

  • Christian Schneider が彼の回答で述べたように、Spring AOP を使用する可能性があります (しかし、私が探しているものではありません)
0 投票する
2 に答える
234 参照

java - OSGi/BND: OS によって異なる要件

OSGi 用のコマンド コンポーネントを作成し、Apache Felix Shell を使用しました。1 つのコマンドで、SWT UI を開始する新しいスレッドが開きます。

BND Config では、このコンポーネントをビルドして実行するために SWT バンドルが必要です。現在の問題は、すべての開発者が構成を変更し、OS の SWT バンドルを含める必要があることです。また、すべての OS に対して、他のパックされたバンドルが必要です。唯一の違いは、jar のマニフェスト内の行であり、他のバンドルを起動する必要があります。

現在実行中のシステムに依存するビルドまたは実行の依存関係を設定できる BND または OSGi にトリックはありますか?

「org.eclipse.swt.win32.win32.x86_64」ではなく「org.eclipse.swt.{OS}.{WS}.{ARCH}」のようなものですか? または、少なくとも構成で特定の OS を要求できますか? ユーザーが間違ったバンドルを使用した場合、ClassNotFound Exception の代わりに適切なエラーが表示されるようにするには?

別の質問 (http://stackoverflow.com/questions/2706222/create-cross-platform-java-swt-application/5784073#5784073) で説明されている解決策は、私にはうまくいきません。 BND/OSGi で実行できます。

何か案が?

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

java - jh.jar (JavaHelp) の bnd ラップが機能しない

通常のjarファイルをOSGIバンドルに変換するために以前に何度も使用したツールであるbnd wrapを使用しています。JavaHelp の jh.jar に問題があります。「1: 余分なエクスポート パッケージの指示: [com, com.sun, com.sun.java.help, com.sun.java, javax]」という警告しか表示されません。プロセスを強制終了しないという警告が表示されることを期待しますが、その後 OSGI バンドルが表示されず、jh.jar のファイル サイズが変更されず、マニフェストが変更されないように見えます。何が起こっているのか誰か知っていますか?他の誰かが jh.jar 自身を bnd ラップしようとするのは簡単なはずです。

私はこのコマンドを実行しています: