0

OSGI コンテキストをシャットダウンする前に、しばらく待つ必要があります (現在実行中のタスクを終了するまで、しばらくお待ちください)。Beanshutdown.wait.timeのプロパティに出くわしました。extenderProperties

このOSGiフラグメントを使用して目標を達成する方法を教えてください。フラグメント バンドルを既存の OSGI バンドルにアタッチできると思います。

前もって感謝します。あなたの助けに感謝。

4

1 に答える 1

5

META-INF/MANIFEST.MF と META-INF/spring/extender/extender.xml の 2 つのファイルを含むバンドルを作成する必要があります (xml ファイルには xml 拡張子が付いた名前を付けることができますが、 META-INF/spring/extender フォルダー)。MANIFEST.MF ファイルには、OSGi マニフェスト ヘッダーFragment-Hostorg.springframework.osgi.extenderが含まれている必要があります。maven-bundle-plugin を使用している場合、プラグイン構成は次のようになります。

...
<plugin>
  <groupId>org.apache.felix</groupId>
  <artifactId>maven-bundle-plugin</artifactId>
  <version>2.3.5</version>
  <extensions>true</extensions>
  <configuration>
    <instructions>
      <Fragment-Host>org.springframework.osgi.extender</Fragment-Host>
    </instructions>
  </configuration>
</plugin>
...

extender.xml ファイルでは、 extenderPropertiesという名前のjava.util.Properties Beanを定義する必要があります。ミリ秒単位の値を持つ shutdown.wait.time という名前のプロパティが含まれている必要があります (例: 30 秒の場合は 30000)。ファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:util="http://www.springframework.org/schema/util"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/util     http://www.springframework.org/schema/util/spring-util-3.0.xsd">
  <util:properties id="extenderProperties">
    <prop key="shutdown.wait.time">30000</prop>
  </util:properties>
</beans>

次に、バンドルを環境にデプロイします。Spring DM バンドルに関連してこのフラグメント バンドルがインストールされる順序に応じて、Spring OSGi バンドル (またはサーバー) を再起動する必要がある場合があります。

于 2012-11-10T22:56:44.930 に答える