この記事では、Gogo Shellを使用してOSGIコンポーネントを一時的に無効にする方法と、コンポーネントをブラックリストに追加して恒久的に無効にする方法について説明します。WebDAVコンポーネントを例として使用します。.
詳細
コンポーネントの一時無効化
- DXP 7.0を起動する
- Gogo Shell経由で接続:
telnet localhost 11311 - WebDAVはバンドルcom.liferay.document.library.webのコンポーネントであり、
scr:list com.liferay.document.library.webコマンドによってコンポーネント名がわかります。- フィックスパック37以前
scr:disable com.liferay.document.library.web.webdav.DLWebDAVStorageImpl
- フィックスパック37以降
scr:disable com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl
- フィックスパック37以前
このscr:disableコマンドは、サーバーを再起動するまで、サーバー(またはクラスター内の現行サーバー・ノード)上のコンポーネントが使用不可になるので注意してください。
コンポーネントを永久に無効にする
- DXP 7.0を起動する
- 移動します。[コントロールパネル] > [ 設定 ]> [ システム設定 ]> [ コンポーネントのブラックリストの設定
- ブラックリストのコンポーネント名に
com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImplを追加します。 - 更新をクリックします
ログには、次のようなメッセージが表示されます。
2018-05-02 00:54:08.725 INFO [CM Event Dispatcher (Fire ConfigurationEvent: pid=com.liferay.portal.component.blacklist.internal.ComponentBlacklistConfiguration)][ComponentBlacklistImpl:91] Disabling com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImpl from bundle com.liferay.document.library.web
Gogo Shellを使用してコンポーネントが無効になっていることを確認することもできます。
ブラックリストにWebDavコンポーネントを追加する前に、Gogo Shellでscr:info com.liferay.document.library.web.internal.webdav.DLWebDAVStorageImplコマンドを実行します。
次のような結果が表示されます。
Component Description:
......
Component Description Properties:
......
Component Configuration:
ComponentId: 1410
State: active
ブラックリストにWebDavコンポーネントを追加した後、Gogo Shellで同じコマンドを再度実行します。結果にコンポーネント構成がないことがわかります。
Component Description: ...... Component Description Properties: ...... (No Component Configurations)
追加情報
この機能は、Liferay DXP 7.0フィックスパックDE-40以降にのみ追加されています。詳細は、以下の資料を参照してください。
- DXP 7.0 - Blacklisting OSGi Modules and Components
- DXP 7.1 - Blacklisting OSGi Modules and Components