Liferay:当 -LocalServiceUtil 可用时执行操作

Liferay: perform an action when a -LocalServiceUtil is available

我已经使用服务构建器实现了功能性 Liferay 服务,我想尽快调用 -LocalServiceUtil class 上的方法。这是我希望在服务启动时以及重新部署服务时执行的任务。

即使 -LocalServiceUtil class 上的所有方法都是静态的,如果过早调用它们也会抛出 BeanLocatorException

com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context portal-navigation-impl

有没有什么方法可以调用 -LocalServiceImpl 实例或其他方法,以便我可以执行此操作?

谢谢

正如您所说的初始化顺序:我对此不是 100% 确定,但我会写一个 startup action。每次挂钩(或插件)启动时都会得到 运行 - 包括重新部署。听起来像你想要的 - 如果初始化顺序有效,这就是你的解决方案。

否则:创建一个依赖于您当前使用的挂钩的单独挂钩。这也将重新启动,但只有 运行 一旦提供 *-LocalService 的挂钩已经启动。 (依赖性在 liferay-plugin-package.properties 中声明,键为 required-deployment-context - 这是来自记忆 - 如果我错了,请有人纠正我。)