Java 如何在Liferay 7.1上启用缓存复制。dxp1.0ga?
我有下一个环境:Java 如何在Liferay 7.1上启用缓存复制。dxp1.0ga?,java,liferay,wildfly,ehcache,jgroups,Java,Liferay,Wildfly,Ehcache,Jgroups,我有下一个环境: 具有群集许可证的Liferay 7.1 DXP(与wildfly 16.0捆绑) 此捆绑包在本地主机上的同一台机器(2个节点)上运行,但端口不同 每个节点都有相同的数据库(postgresql) 在机器上进行单独的运行弹性搜索 用于文档和媒体的共享文件夹 在portal-setup-wizard.properties中,我添加了“cluster.link.enabled=true”和“ehcache.replicator.properties.com.liferay.porta
问题是如何为put操作配置缓存复制?ClusterLink不是这样工作的,它只是“使”缓存失效,而不是“复制”缓存: 如果修改节点1上的对象“1”,节点2将收到“1”已更改的通知,并且如果缓存了此对象,则只需将其从自己的缓存中删除。只有在随后需要“1”的情况下,才会检测到缓存未命中,并从数据库(或其他持久存储)检索对象 如果node2上没有人请求该对象,则node2上不会检索任何内容 此外,如果node1上的缓存溢出(缓存不是无限的,事实上,它可能被配置为大小为0),您甚至不能假设您将能够永远从node1上的缓存检索此对象 因此,您的观察是正确的:一个节点中的更改或删除将从所有缓存中删除具有给定密钥的对象。这就是它的实现方式,它非常有用:不需要缓存您可能永远不会在给定机器上访问的内容 我相信我很久以前就听说过实际的缓存复制,例如,它可能是可配置的。但我从来没有尝试过,因为它只是不需要,并且无效并不会带来巨大的负担