OSGI コンテキストをシャットダウンする前に、しばらく待つ必要があります (現在実行中のタスクを終了するまで、しばらくお待ちください)。Beanshutdown.wait.time
のプロパティに出くわしました。extenderProperties
このOSGiフラグメントを使用して目標を達成する方法を教えてください。フラグメント バンドルを既存の OSGI バンドルにアタッチできると思います。
前もって感謝します。あなたの助けに感謝。
OSGI コンテキストをシャットダウンする前に、しばらく待つ必要があります (現在実行中のタスクを終了するまで、しばらくお待ちください)。Beanshutdown.wait.time
のプロパティに出くわしました。extenderProperties
このOSGiフラグメントを使用して目標を達成する方法を教えてください。フラグメント バンドルを既存の OSGI バンドルにアタッチできると思います。
前もって感謝します。あなたの助けに感謝。
META-INF/MANIFEST.MF と META-INF/spring/extender/extender.xml の 2 つのファイルを含むバンドルを作成する必要があります (xml ファイルには xml 拡張子が付いた名前を付けることができますが、 META-INF/spring/extender フォルダー)。MANIFEST.MF ファイルには、OSGi マニフェスト ヘッダーFragment-Hostのorg.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 バンドル (またはサーバー) を再起動する必要がある場合があります。