在 IM-Repository 中更新实体时,可能会显示“应用失败。Items is not specified.”,并导致更改未能生效。

 
【发生条件】
发生条件如下。

- 永久保存的实体信息版本数超过127
- 存在设置了引用项的数据定义
 
【日志详情】
exception.log 的内容如下:

log.message=在映射的API中发生错误。

java.lang.IllegalArgumentException: Items is not specified.
at jp.co.intra_mart.system.repository.metadata.entityset.datastore.external.StandardExternalReferenceDefinitions.add(StandardExternalReferenceDefinitions.java:52)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)

【原因】
由于未能成功获取实体的数据定义,无法准确构建更新后的信息,导致影响范围内的应用处理被中断。

【回避方法】
可以通过在系统属性中设置以下内容来避免该问题发生。

-Djava.lang.Integer.IntegerCache.high=1048575
 
上述的 1048575 为示例值,请设置一个足够大于实体版本数的数值。
但是,设置的数值越大,内存等资源的使用量也会相应增加,因此请根据您的系统环境进行合理调整。

请将上述设置添加到 Web Application Server 的 Java VM 参数中。
关于 Java VM 参数的设置方法,请参阅以下文档:
※添加设置后,请重新启动服务器。

■intra-mart Accel Platform 设置指南 - Resin 的设置
https://document.intra-mart.jp/library/iap/public/setup/iap_setup_guide/texts/setting/resin_configuration_file.html

【改进计划】
该现象已在“2025 Spring”中解决。
此外,以下版本也已发布修复补丁:

* 2023 Autumn
* 2024 Spring
* 2024 Autumn

某些情况下,实体的数据定义信息可能无法正常读取。
https://issue.intra-mart.jp/issues/38188

-- 适用对象-------------------------------------------------------------------------
iAP/Accel Platform/2023 Autumn及之后所有版本
----------------------------------------------------------------------------------------


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