点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
问题1:在hybris 6.4中保存" ProcessTaskLogModel"的同时获取ModelSavingException。 这是因为OOTB代码尝试保存的数据超出了logmessages列中所允许的限制。
问题2:正在为业务流程(例如orderprocess)中的每个操作节点生成两个ProcessTaskLogModel记录。 理想情况下,一个actionNode应该有一个processTaskLogmodel。
所有这些都是" ProcessEngineLoggingCtx.class"方法saveAsTaskLogModel(BusinessProcessModel进程,已记录字符串的消息)中的OOTB代码
p_logmessages
列是MySQL text 类型。 最大长度为64kB。 (好像您正在从堆栈跟踪中使用MySQL)首先要指出的是,如果您要记录64k个字符,则您可能试图在一项任务中做太多事情。 也许您可以查看较少的信息记录或将任务拆分为较小的工作单元?
如果您确实需要增加列的大小,那么这是一个非破坏性的操作,但是您需要确定它是否将锁定表的时间很短。 我会与您的dba交流,因为它可能取决于行数之类的内容。 我不确定文本列,因为数据未随表本身存储,因此可能"正常工作"。
要使其更具永久性(即在初始化中幸存下来),您将需要在items.xml中重新定义列类型。 请参见
中impex-items.xml
ImportBatchContent
类型的示例参考: http://boolean.co.nz/博客/max-length-for-mysql-text-field-types/135/
问题1:Stacktrace
问题2:正在创建processTaskLog的两个线程的堆栈跟踪-
谢谢!!!
是的,我正在使用MYSQL。 但是,我想知道如何记录较少的信息或将任务拆分为较小的工作单元。 因为这是开箱即用(OOTB)代码。 因此,我应该覆盖OOTB代码。 即扩展" ProcessEngineLoggingCtx"并覆盖所需的方法。
另外,根据您的回答,作为固定的分辨率,我需要在继承OOTB项目类型的新项目类型中重新声明日志消息。 并设置以下logmessages。 在运行系统更新(来自HAC)时,它将更新列类型。
另外,长文本或中文本会更好,因为您同时给出了这两种解决方法。
此外,您有以下解决方案吗?
谢谢
谢谢
再次感谢!
作为解决logmessages问题的方法,我将使用DDL查询更新列类型。 另外,我将在新的item-type(扩展ProcessTaskLog item-type)中声明该属性,以将列类型更新为中文字。 因此,如果初始化数据库,则不会有任何影响。
谢谢
对不起,您对第二个问题一无所知。 我会尝试在模型类的构造函数中放置一个断点,并查看从哪里调用它们。
,
关于我的第二个问题
我有两个调用的堆栈跟踪。
一周热门 更多>