Liferay ServiceUtil 和 LocalServiceUtil 的区别
Liferay ServiceUtil and LocalServiceUtil difference
这两个实用程序有什么区别?我可以在官方 Liferay 论坛上读到这个问题,但我不太清楚。我可以在任何地方阅读部分解释,但我需要的是准确、完整和清晰的解释有什么区别。谢谢。
当通过 service.xml 生成 liferay 服务层时,可以选择通过实体上的以下属性来控制本地和远程服务的生成:
local-service="true"
表示 LocalServiceUtil
,它定义了您的服务层在 portlet / portal 范围内可以在本地访问。
remote-service="true"
代表ServiceUtil
,它定义了你的服务层也可以通过web-services从远程应用程序访问。
在 Liferay 中,本地 服务通常 "just do the work",没有任何权限检查。这就是为什么它们是本地的——您无法远程访问它们。 (事实上,正如 Pierpaolo 在评论中所说,它们只能在同一个 JVM 中使用,例如,从同一个应用程序服务器中使用)。 远程 服务(或仅服务)通常实现非常相似的接口,但在将实际执行委托给本地服务之前(或在 return 数据之前执行权限检查给来电者)。
不要被服务名称的 "remote" 部分分散注意力:您也可以在本地调用它们,它们与本地服务一样具有本地 java 接口。只有在您确定不需要权限检查时才调用本地服务。在远程服务中实施权限检查是最佳实践...
这两个实用程序有什么区别?我可以在官方 Liferay 论坛上读到这个问题,但我不太清楚。我可以在任何地方阅读部分解释,但我需要的是准确、完整和清晰的解释有什么区别。谢谢。
当通过 service.xml 生成 liferay 服务层时,可以选择通过实体上的以下属性来控制本地和远程服务的生成:
local-service="true"
表示 LocalServiceUtil
,它定义了您的服务层在 portlet / portal 范围内可以在本地访问。
remote-service="true"
代表ServiceUtil
,它定义了你的服务层也可以通过web-services从远程应用程序访问。
在 Liferay 中,本地 服务通常 "just do the work",没有任何权限检查。这就是为什么它们是本地的——您无法远程访问它们。 (事实上,正如 Pierpaolo 在评论中所说,它们只能在同一个 JVM 中使用,例如,从同一个应用程序服务器中使用)。 远程 服务(或仅服务)通常实现非常相似的接口,但在将实际执行委托给本地服务之前(或在 return 数据之前执行权限检查给来电者)。
不要被服务名称的 "remote" 部分分散注意力:您也可以在本地调用它们,它们与本地服务一样具有本地 java 接口。只有在您确定不需要权限检查时才调用本地服务。在远程服务中实施权限检查是最佳实践...