2.7 biz-Stream Webサービスサーバの起動と停止
1. Web サービスサーバの起動方法
biz-Stream Web サービスサーバを起動するには、次の手順で起動してください。
Webサービスサーバ v5.2.0 出荷当時は Java17 のみサポート対象でしたが、現在は Java21 でも動作検証を行っておりサポート対象となります。
Windows の場合
スタートメニューの Apache Tomcat → Monitor Tomcat をクリックし、表示されたApache Tomcat Properties パネルの[Start]ボタンを押します。
Linux/UNIX の場合
- <bsws_server_home>/bin に移動します。
- startup.sh ファイルを実行します。
-
startup.sh コマンドを実行したディレクトリに Jackrabbit ディレクトリ(コンテンツリポジトリ)が生成されます。
bin に移動せずコマンドを実行すると Jackrabbit ディレクトリが別の場所に生成されてしまい、 Webサービスサーバが正常に起動ができない場合があるため、必ず bin に移動してコマンドを実行してください。
誤って別の場所に Jackrabbit ディレクトリができてしまった場合は、手動で Jackrabbit ディレクトリを削除して、再度 bin に移動して起動コマンドを実行してください。
- biz-Stream Webサービスサーバの起動確認については『2.8 インストール結果の確認』をご参照ください。
2. Web サービスサーバの停止方法
biz-Stream Webサービスサーバを停止するには、次の手順で停止してください。
Windows の場合
スタートメニューの Apache Tomcat → Monitor Tomcat をクリックし、表示された Apache Tomcat Properties パネルの[Stop]ボタンを押します。
Linux/UNIX の場合
- <bsws_server_home>/bin に移動します。
- shutdown.sh -force コマンドを実行します。
-force オプションをつけた場合は、<bsws_server_home>/bin/catalina.pid に記載されたプロセスを強制的に kill します。 catalina.pid ファイルは Tomcat 起動時に自動生成されます。
3. 制限事項
Webサービスサーバ v4.X 以前からの制限事項
Tomcat 停止時に一部のプロセスが残ってしまう既知の問題があり、tomcat9-stderr.YYYY-MM-DD.log や catalina.out に以下のような警告やエラーログが出る事がありますが、Webサービスサーバの機能には影響ないため無視していただくようお願いいたします。
情報 [main] org.apache.catalina.core.StandardServer.await 有効なシャットダウンコマンドがシャットダウンポート経由で受信されました。 サーバーインスタンスを停止します。 情報 [main] org.apache.coyote.AbstractProtocol.pause ProtocolHandler ["http-nio-8080"] を一時停止します。 情報 [main] org.apache.catalina.core.StandardService.stopInternal サービス [Catalina] を停止します 警告 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Webアプリケーション [axis2] は [BC Entropy Daemon] という名前のスレッドを開始したようですが、停止に失敗しました。これはメモリリークを引き起こす可能性が非常に高いです。 警告 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Webアプリケーション [axis2] は [Thread-8] という名前のスレッドを開始したようですが、停止に失敗しました。これはメモリリークを引き起こす可能性が非常に高いです。 重大 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesRmiTargets クラス [jdk.proxy3.$Proxy16] 値 [XXX] のスタブクラスを持つ RMI ターゲットを発見しました。メモリーリークを防ぐため発見した RMI ターゲットは強制的に削除します。 重大 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesRmiTargets クラス [jdk.proxy3.$Proxy22] 値 [XXX] のスタブクラスを持つ RMI ターゲットを発見しました。メモリーリークを防ぐため発見した RMI ターゲットは強制的に削除します。 情報 [main] org.apache.coyote.AbstractProtocol.stop ProtocolHandler ["http-nio-8080"]の停止中 情報 [main] org.apache.coyote.AbstractProtocol.destroy ProtocolHandler ["http-nio-8080"] を破棄します。 情報 [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 不正なアクセス: このWebアプリケーションのインスタンスは既に停止されています Could not load [java.util.function.Consumer]. 不正なアクセスを引き起こしたスレッドを終了させ、投げられたエラーによりデバッグ用に次のスタックトレースが生成されましたが,機能に影響はありません java.lang.IllegalStateException: 不正なアクセス: このWebアプリケーションのインスタンスは既に停止されています Could not load [java.util.function.Consumer]. 不正なアクセスを引き起こしたスレッドを終了させ、投げられたエラーによりデバッグ用に次のスタックトレースが生成されましたが,機能に影響はありません
clearReferencesStopThreads="true"
clearReferencesStopTimerThreads="true">
Windows 環境で Java21 を利用する場合の注意点
Java21 で一部仕様が変更された影響により、上記の clearReferencesStopThreads、clearReferencesStopTimerThreads のパラメータが true の場合に Tomcat の停止に数分かかる事象が発生します。
Windows 環境で Java21 を利用する場合は、予めパラメータを false に書き換えて Webサービスサーバを起動すると Tomcat 停止時間が約 60 秒程度に短縮されます。
clearReferencesStopThreads="false"
clearReferencesStopTimerThreads="false">
Linux 環境の場合は、Java21 を利用の場合も shutdown.sh -force コマンドを実行することで数秒で停止し、パラメータの書き換えは不要です。
また、Java21 でも以下のように同様の警告やエラーログが出る事がありますが、Web サービスサーバの機能には影響ないため無視していただくようお願いいたします。
情報 [main] org.apache.catalina.core.StandardServer.await 有効なシャットダウンコマンドがシャットダウンポート経由で受信されました。 サーバーインスタンスを停止します。 情報 [main] org.apache.coyote.AbstractProtocol.pause ProtocolHandler ["http-nio-8080"] を一時停止します。 情報 [main] org.apache.catalina.core.StandardService.stopInternal サービス [Catalina] を停止します 警告 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Webアプリケーション [axis2] は [BC Entropy Daemon] という名前のスレッドを開始したようですが、停止に失敗しました。これはメモリリークを引き起こす可能性が非常に高いです。スレッドのスタックトレース: 警告 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Webアプリケーション [axis2] は [Thread-8] という名前のスレッドを開始したようですが、停止に失敗しました。これはメモリリークを引き起こす可能性が非常に高いです。スレッドのスタックトレース: 重大 [main] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks Webアプリケーション [jackrabbit] はタイプ [java.lang.ThreadLocal] (値XXX) のキーと値タイプ [org.apache.derby.iapi.services.context.ContextManager] (値XXX) のThreadLocalを作成しましたが、それはWebアプリケーションの停止時に削除されていません。スレッドは時間の経過とともに更新され、メモリリークの可能性を回避しようとしています。 重大 [main] org.apache.catalina.core.ContainerBase.stopInternal 停止中に子コンテナが失敗しました。 重大 [main] org.apache.catalina.core.ContainerBase.stopInternal 停止中に子コンテナが失敗しました。 重大 [main] org.apache.catalina.startup.Catalina.stop Catalinaの停止エラー
