这两个工具有什么区别?我可以在官方Liferay论坛上阅读这个问题,但对我来说还不是很清楚。我可以在任何地方阅读部分解释,但我需要的是一个准确,完整和清晰的解释是什么区别。谢谢。
答案 0 :(得分:4)
在Liferay中,本地服务通常“只是做工作”,没有任何权限检查。这就是为什么他们是本地的 - 你无法远程访问它们。 (事实上,正如Pierpaolo在评论中所述,它们只能在同一个JVM中使用,例如在同一个应用程序服务器中)。 远程服务(或只是服务)通常实现一个非常相似的接口,但在将实际执行委托给本地服务之前(或者在将数据返回给调用者之前)执行权限检查。
不要被服务名称的“远程”部分分心:您也可以在本地调用它们,它们具有本地Java接口,就像本地服务一样。如果您确定不需要权限检查,请仅调用本地服务。最佳实践是在远程服务中实现权限检查......
答案 1 :(得分:2)
通过service.xml生成liferay服务层时,可以通过以下属性控制本地和远程服务的生成:
local-service="true"
代表LocalServiceUtil
,它定义了您的服务层可以在portlet / portal范围内本地访问。
remote-service="true"
代表ServiceUtil
,它定义了您的服务层也可以通过网络服务从远程应用程序访问。