如何获得在liferay 6中部署和加载portlet过程的时间戳



我的场景是下一个场景,我想获得救生门户中可用portlet的当前状态,但主要想法是生成一个图表或一些图形资源,并在其中填充portlet开始部署时的确切时间戳和portlet完全加载到门户中时的时间戳信息,现在我不知道如何才能得到这些时间戳,我试着从catalina上读到它。但是,对于我的项目负责人来说,这样做是不正确的。感谢您的高级

您有两个选项,创建一个HotDeployListener或侦听messagebus HOT_DELOY消息

选项1:HotDeployListener

部署portlet或任何其他插件时,Liferay会执行在portal.properties 的hot.deploy.listeners属性中定义的HotDeployListener侦听器列表

请参阅portal.properties 的热部署部分中的默认值

热部署侦听器接收一个HotDeployEvent对象,该对象包含有关正在部署的portlet的信息,例如可以检索servlet上下文

您必须实现自己的HotDeployListener,请参阅javadoc文档并将其添加到您的portal-ext.properties中

您必须将hot.deploy.listeners属性的默认值复制到您的portal-ext.properties中,并将您的侦听器添加到该列表中。

有关更多信息,请参阅portal.properties文件中的文档:

输入一个逗号分隔的类名列表,这些类名实现com.liferay.portal.kernel.deploy.hot.HotDeployListener。这些类用于在运行时处理WAR的部署和取消部署。

侦听器按此属性定义的顺序调用。必须始终首先调用PluginPackageHotDeployListener。必须始终在ServletContextListenerHotDeployListener之前调用SpringHotDeployListener。MessagingHotDeployListener必须始终最后调用。

选项2:侦听messagebus HOT_DELOY消息

portlet部署后,MessagingHotDeployListener会将HOT_DELOY消息发送到Liferay消息总线,请参阅:portal impl/src/com/Liferay/portal/DEPLOY/HOT/MessagingHotDeployment Listener.java#L70-L75

您可以通过创建侦听器来侦听该事件,并调用MessageBusUtil.registerMessageListener(DestinationNames.HOT_DEPLOY, myListener)MessageBusUtil.registerMessageListener("liferay/hot_deploy", myListener)

监听器必须实现MessageListener接口,请参阅javadoc文档

有关Liferay messagebus的更多信息,请参阅以下链接:

  • https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/liferays-message-bus-system
  • http://www.liferaysavvy.com/2013/11/lifeay-message-bus-portlethandling-bulk.html
  • https://web.liferay.com/es/community/wiki/-/wiki/Main/Message+公共汽车

最新更新