我们在 Liferay 中创建自定义服务层时是否默认启用缓存?

Is caching enabled by default when we create a custom service layer in Liferay?

liferay是否默认支持自定义服务层的缓存,或者我们应该使用WebCachePool来缓存服务调用?如果是,我们如何实现相同的,并且外部服务调用需要遵循相同的方法,不通过 Liferay 服务生成器生成?

当您基于 liferay 服务构建器构建自定义实体时,默认情况下会提供缓存层。 您可以控制它,在需要时禁用它或更改缓存规则。

没有服务构建器层,您可以手动使用门户代码中提供的许多缓存实用程序 类。

看这段代码有个例子:

https://github.com/liferay/liferay-portal/blob/master/modules/apps/blogs/blogs-service/src/main/java/com/liferay/blogs/service/persistence/impl/BlogsEntryPersistenceImpl.java

如果你需要它,你可以只为你正在使用的自定义实体禁用缓存,在我的例子中它起作用了,因为我遇到缓存问题的实体正在不断更新,所以我禁用缓存只是为了该实体将 cache-enabled="false" 添加到服务 xml:

<entity name="CustomEntity" local-service="true" remote-service="true" cache-enabled="false">

如您在本文中所见:

https://liferaydeveloper.com/custom-finders-using-service-builder---liferay-6.2-/-7.x.html

你好。