スケジュールされたタスクのページでエラーが発生する

ColdFusion Administratorのスケジュールタスク(サーバの設定>スケジュールされたタスク)ページを開くとエラーが発生する場合、以下の情報を確認してください。エラーが画面上に表示されたり、画面が白いままログにエラーが出力されている場合があります。

エラーの例

"Error","http-nio-8501-exec-1","05/29/24","17:33:51","cfadmin","Cannot invoke "coldfusion.server.ConfigMap.values()" because "map" is null インクルードまたは処理されたファイルの特定のシーケンス :C:\ColdFusion2023\cfusion\wwwroot\CFIDE\administrator\scheduler\scheduletasks.cfm, line: 140"
		java.lang.NullPointerException: Cannot invoke "coldfusion.server.ConfigMap.values()" because "map" is null
		    at coldfusion.scheduling.mod.CronServiceImpl._listAll(CronServiceImpl.java:745)
		    at coldfusion.scheduling.mod.CronServiceImpl.listAll(CronServiceImpl.java:685)
		    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
		    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
		    at coldfusion.runtime.StructBean.invoke(StructBean.java:509)
		    at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4253)
		    at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4105)
		    at cfscheduletasks2ecfm982126072._factor8(/CFIDE/administrator/scheduler/scheduletasks.cfm:140)
		    at cfscheduletasks2ecfm982126072._factor36(/CFIDE/administrator/scheduler/scheduletasks.cfm:76)
		    at cfscheduletasks2ecfm982126072.runPage(/CFIDE/administrator/scheduler/scheduletasks.cfm:1)
		    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:256)

エラーの原因と対処

このエラーは、[cf_root]/{インスタンス(cfusion等)}/lib/ 内にあるneo-cron.xmlファイルの読み込みが正しく読み込めなかった場合に発生します。主な原因と対処は以下の通りです。

  • 古いバージョンのneo-cron.xmlファイルを強制的に現在のバージョンに上書きした
    • 古いバージョン(cf2021やcf2018 updよりも前)では、スケジュールタスクの項目に違いがあるため、直接上書きしたことによって neo-cron.xmlファイルが正しく読み込めなくなる場合があります
      • (対処)ColdFusionを停止し、同フォルダ内のneo-cron.bakファイルをneo-cron.xmlファイルに変更してColdFusionを起動します。エラーが解決しない場合は、別環境に同じバージョンのColdFusionをインストールして、そこからneo-cron.xmlファイルをコピーして上書きしてください
         
  • タスクを設定後にシステムのロケールを変更した
    • クラウド環境のイメージOSなどを使用した環境は、デフォルトで日本語化がされていません。日本語化を行う前にColdFusionをインストールした場合は、英語版で起動したり、ロケールがja_JPではなくja_USになったりし、それによって移行したタスクが正しく読めないなどが起こる場合があります
    • すでに別のロケールでタスクを設定している環境を、後から日本のロケールに変更すると、別のロケールで設定したタスクを正常に読み込むことができないため、エラーが発生します
      • (対処)ロケールがja_JPになっていない場合は、ロケールを変更します。
        https://cfassociates.samuraiz.co.jp/index.cfm/faq/administrator/java-default-locale/
        スケジュールタスクを別のロケールで登録して、ロケールを切り替えた後にエラーが発生するようになった場合は、一旦ロケールを元に戻して、既存のタスクを削除してから再びロケールを切り替えてください
         
  • 何らかの原因でneo-cron.xmlファイルの内容が壊れた
    • 再現性は無いですが、ごくまれにColdFusionの停止が正しく行えなかった等によって、neo-cron.xmlファイルの先頭にゴミデータが入って誤ったXML構文になったり、本来は登録されるはずのタスクデータが破損する場合があります。
      • (対処)ColdFusionを停止し、同フォルダ内のneo-cron.bakファイルをneo-cron.xmlファイルに変更してColdFusionを起動します。エラーが解決しない場合は、neo-cron.xmlファイルをメモ帳等テキストエディタで開き、ファイルの先頭や末尾におかしなデータが存在する場合は、それを削除して、ColdFusionを再起動してください。それでも直らない場合は、別環境に同じバージョンのColdFusionをインストールして、そこからneo-cron.xmlファイルをコピーして上書きしてください

 


記事公開日:2024年06月06日
最終更新日:2024年06月06日

 


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.