legacy-knowledge-base
公開されました Sep. 10, 2025

Destination Worker の Core Size と Maximum Size を更新しようとしたときに IllegalArgumentException を解決する方法

written-by

Isaac Wilson

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • ワーカーのコア サイズとワーカーの最大サイズを更新しようとした場合 (たとえば、liferay/background_task の宛先名をコア サイズ 5、最大サイズ 10 に変更した場合など)、UI で更新が成功したように見えますが、ログには次のような "CM Configuration Updater" エラーと IllegalArgumentException が表示されます:
    2020-11-25 01:18:24.065 ERROR [CM Configuration Updater (Update: pid=com.liferay.portal.messaging.internal.configuration.DestinationWorkerConfiguration.cb90ce61-5844-4817-9575-d4f4ad981e6a)][LogService:93] [org.osgi.service.cm.ManagedServiceFactory, com.liferay.portal.kernel.messaging.MessageBus, id=1112, bundle=913/com.liferay.portal.messaging.jar?lpkgPath=file:/drive/Liferay-Home/osgi/marketplace/Liferay%20Foundation%20-%20Liferay%20Portal%20-%20Impl.lpkg]: Unexpected problem updating configuration com.liferay.portal.messaging.internal.configuration.DestinationWorkerConfiguration.cb90ce61-5844-4817-9575-d4f4ad981e6a {org.osgi.service.cm.ConfigurationAdmin}={service.description=Configuration Admin Service Specification 1.6 Implementation, service.id=52, service.bundleid=31, service.scope=bundle, service.vendor=The Apache Software Foundation, service.pid=org.apache.felix.cm.ConfigurationAdmin}
    java.lang.IllegalArgumentException
    at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor.adjustPoolSize(ThreadPoolExecutor.java:90)
    at com.liferay.portal.messaging.internal.BaseAsyncDestination.setWorkersCoreSize(BaseAsyncDestination.java:197)
    at com.liferay.portal.messaging.internal.DefaultMessageBus.updateDestination(DefaultMessageBus.java:529)
    at com.liferay.portal.messaging.internal.DefaultMessageBus.updated(DefaultMessageBus.java:359)
    at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)
    at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)
    at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1391)
    at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138)
    at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105)
    at java.lang.Thread.run(Thread.java:748)
  • Groovy スクリプトを使用して現在の送信先ワーカーの値を確認すると、新しい構成が有効になっていないように見えます。 LPS-108986 修正が実装された環境を使用していることを確認したため、5 と 10 の値を許可する必要があるため、この動作が発生することは予想外です。

Environment

  • DXP 7.2
  • DXP 7.3

解決策

  • コア サイズと最大サイズの両方の値を同時に更新する代わりに (コントロール パネル > 構成 > システム設定 > インフラストラクチャ > 宛先ワーカー内)、最初に「ワーカーの最大サイズ」を更新してから、「ワーカーのコア サイズ」を更新します。これにより、両方の構成が保存され、期待どおりに使用できるようになります (また、予期しないエラーが防止されます)。

追加情報

  • この動作は、一部の以前の 7.2 および 7.3 パッチ レベル内での競合状態が原因で発生する可能性があり、 「ワーカー コア サイズ」構成が「ワーカー最大サイズ」構成の前に更新される可能性があります (両方を更新する場合)。その場合、このエラーが発生する可能性があります (コア サイズが最大値を超えることはできないため)。 この動作は、 LPS-124209 修正 (7.2 ではdxp-10+ では dxp-1+ ) を含むすべての修正パックで公式に解決されています。
  • Destination Worker の詳細については、次のドキュメントを参照してください。
did-this-article-resolve-your-issue

legacy-knowledge-base