阔叶商务:演示网站未显示产品
-
02-01-2020 - |
题
我刚刚在两台不同的主机上安装了 BroadLeafCommerce,一台是 Mac OS X,一台是 Debian / Raspberry Pi。都用JDK1.7和Tomcat7。两者都使用 MySql。所以环境组件基本相同,只是 Raspberry Pi 运行时分配给 JVM 的堆较少(256m)。
在两台主机上,应用程序以相同的日志条目启动,并且在两台主机上创建并填充数据库表。在我的 Mac OS X 主机上,一切看起来都很好。 在 Raspberry Pi 上,产品不显示在内容部分中, 但是,右侧边栏中显示了图像/产品。但右侧边栏中也缺少类别。但是,当我检查树莓派主机上的 mysql 数据库表时, blc_product
和 blc_category
和 blc_category_product_xref
表格中充满了数据。和 catalina.out
当我打开某个页面时不显示任何错误。
我按照以下说明进行操作 http://www.broadleafcommerce.com/docs/core/current/tutorials/getting-started-tutorials/switch-to-mysql-tutorial 在我做了之后 git clone
存储库的。然后我通过构建一切 mvn clean install
并将war文件部署到Tomcat。
这是在 Mac OS X 上正确的样子:
这就是我的 Raspberry Pi 安装的样子 - 产品未显示在类别内容部分中:
这是 Tomcat 启动时的日志(请注意,两个系统上的输出是相同的;即使存在错误,数据库表也会在两个系统上正确创建)。
我检查过,在两个系统上,数据库表的查询都可以不区分大小写(我之前在 Debian/Raspberry Pi 上设置了 lower_case_table_names=1),所以这不应该是一个问题。
Tomcat的启动日志: http://pastebin.com/83QsTVeC
更新:我将所有内容原封不动地放置了一个小时左右,然后返回并刷新了网站。瞧,即使在 Raspberry Pi 上,所有产品也会出现。看起来好像花了一段时间才在 RPi 上完成某些进程,尽管我不知道它是什么或哪些数据库表相关。之前直接查询数据库时,最明显的相关表(产品、类别)已经填满了数据。仍然不知道在那一小时内发生了什么使产品出现。或者也许目录页面基于 Solr 查询而 Solr 尚未完成索引?
解决方案
因为您只为 RPi 分配了 256MB 的 RAM,而且 CPU 速度也慢得多,所以 solr 可能需要更长的时间来索引所有演示产品。
是的,你是对的,broadleaf 演示网站从数据库中获取所有产品,并以 100 的批量大小对它们进行索引。
因此,可以肯定的是,RPi 上的索引过程花费了更长的时间。
演示站点还可以根据要求调整图像大小。这些内容写入本地临时存储中,并由 tomcat 在第二次请求时从那里提供服务。