执行JobNet时发生“[E.IWP.DATETIME.00002] 不能在参数的时区中指定null”。

 
【现象】
执行JobNet时发生以下错误。

//---- 
 [ERROR] j.c.i.s.j.q.l.LifecycleListener - 执行JobNet的过程中发生非预期的系统错误。
 java.lang.IllegalArgumentException: [E.IWP.DATETIME.00002]  不能在参数的时区中指定null 。
     at jp.co.intra_mart.foundation.i18n.datetime.DateTime.<init>(DateTime.java:58) ~[im_core_base-8.0.3-main.jar:na] 
     at jp.co.intra_mart.system.job_scheduler.context.JobAccountContextBuilder.getFireTime(JobAccountContextBuilder.java:96) ~[im_job_scheduler_impl-8.0.3-main.jar:na] 
     at jp.co.intra_mart.system.job_scheduler.context.JobAccountContextBuilder.create(JobAccountContextBuilder.java:62) ~[im_job_scheduler_impl-8.0.3-main.jar:na] 
     at jp.co.intra_mart.foundation.context.core.ContextBuilderSupport.build(ContextBuilderSupport.java:51) ~[im_core_base-8.0.3-main.jar:na] 
     at jp.co.intra_mart.system.context.impl.command.LifecycleBeginOperation.buildContext(LifecycleBeginOperation.java:96) ~[im_core_impl-8.0.3-main.jar:na] 
     at jp.co.intra_mart.system.context.impl.command.LifecycleBeginOperation.execute(LifecycleBeginOperation.java:64) ~[im_core_impl-8.0.3-main.jar:na] 
     at jp.co.intra_mart.system.context.impl.LifecycleImpl.begin(LifecycleImpl.java:76) ~[im_core_impl-8.0.3-main.jar:na] 
     at jp.co.intra_mart.system.job_scheduler.quartz.listener.LifecycleListener.triggerFired(LifecycleListener.java:35) ~[im_job_scheduler_impl-8.0.3-main.jar:na] 
     at org.quartz.core.QuartzScheduler.notifyTriggerListenersFired(QuartzScheduler.java:1830) [quartz-2.1.7.jar:na] 
     at org.quartz.core.JobRunShell.notifyListenersBeginning(JobRunShell.java:317) [quartz-2.1.7.jar:na] 
     at org.quartz.core.JobRunShell.run(JobRunShell.java:180) [quartz-2.1.7.jar:na] 
     at jp.co.intra_mart.system.job_scheduler.quartz.threadpool.ExecutorThreadPool$WorkerThread.run(ExecutorThreadPool.java:566) [im_job_scheduler_impl-8.0.3-main.jar:na] 
//---- 
 
【条件】
 将时区主文件(=WEB-INF/conf/time-zone-config/im-time-zone-config.xml)中不存在的时区设置为Tenant的默认时区时会发生此现象。
 通常在将时区主文件中不存在的时区指定为JavaVM的默认时区的状态下,进行Tenant初始设置(=第一次部署war时的Tenant环境安装)时会发生此现象。 
 例如,在JavaVM的默认时区中指定“-Duser.timezone=JST”的状态下,进行Tenant初始设置时,Tenant默认的时区将设置为“JST”,并发生此现象。 
【原因】
 将时区主文件中不存在的时区设置为了Tenant的默认时区。 
【规避方法】
 请设置Tenant的默认时区 。
 1. 作为Tenant管理员登录。 
 2. 点击“网站地图”→“Tenant管理”→“Tenant信息”→“时区”。  
 3. 选择任意一个时区后,点击“更改”。 
【备注】 
 安装指南中记述了对应用服务器指定时区时的注意事项。
    intra-mart Accel Platform / 安装指南 “独立/分布式通用设置” 注解
 http://www.intra-mart.jp/download/product/iap/setup/iap_setup_guide/texts/setting/resin_configuration_file.html
 另外,在intra-mart Accel Platform 2013 Autumn及之后的版本中进行Tenant初始设置的环境下,不会发生此现象。
   (因为在进行Tenent初始设置时,采用了从时区主文件中的已定义时区中选择Tenant默认时区的方式)

需求[3744]
https://issue.intra-mart.jp/issues/3744

-- 适用対象 ---------------------------------------------------------------
iAP/Accel Platform/2013 Summer (Damask) 及之前版本
-------------------------------------------------------------------------------


FAQID:13
这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
由 Zendesk 提供技术支持