最近,我遇到了一些Endeca DefaultFileStoreFactory组件的问题。站点未打开,当选中此组件时,initialized属性将自动变为false。我们给出了一个临时的解决方案来打开这个网站。你能帮我解释一下为什么会发生这种行为吗?
下面是服务器启动时看到的日志。
**** Error Tue Jan 02 15:22:34 -03:00 2018 1514917354914 / Unable to resolve component /atg/endeca/assembler/cartridge/manager/DefaultFileStoreFactory java.lang.StackOverflowError
**** Error Tue Jan 02 15:22:34 -03:00 2018 1514917354914 / at java.util.TreeMap$NavigableSubMap$SubMapIterator.nextEntry(TreeMap.java:1700)
**** Error Tue Jan 02 15:22:34 -03:00 2018 1514917354914 / at java.util.TreeMap$NavigableSubMap$SubMapEntryIterator.next(TreeMap.java:1747)
**** Error Tue Jan 02 15:22:34 -03:00 2018 1514917354914 / at java.util.TreeMap$NavigableSubMap$SubMapEntryIterator.next(TreeMap.java:1741)发布于 2018-01-04 23:16:36
根据this oracle support ticket的说法
超过了256k的默认堆栈大小,导致应用程序服务器日志记录中出现错误。为了解决这个问题,必须增加Java堆栈的大小。缺省的Java堆栈大小是使用JAVA_ARGS (或JBoss上的JAVA_OPTS )中的Xss参数配置的。在许多情况下,该值默认为256k。将该值加倍解决了此问题( -Xss512k )。最佳值将取决于客户的特定应用程序需求。
发布于 2018-01-20 03:21:16
我也遇到过同样的情况。我同意增加-Xss参数是解决这个问题的标准方法(原因是DefaultStoreFactory使用递归算法基于经验管理器内容构建“树”)。但我也建议检查体验管理器的结构,以减少未使用和无用的数据,在其他情况下-您将需要在内存(堆)中保留这棵“树”,它可能会引发内存不足问题(这实际上是我的情况:)
https://stackoverflow.com/questions/48075401
复制相似问题