繁体   English   中英

如何获取Liferay 6中Portlet的部署和加载过程的时间戳?

[英]How can I get the timestamp of deploying and loading process of a portlet in liferay 6?

我的场景是下一个场景,我想获取liferay门户中可用portlet的当前状态,但是主要思想是生成一个图表或一些图形资源,并在portlet启动时用确切的时间戳信息进行填充。 Portlet完全加载到门户时的部署和时间戳,现在我不知道如何获取这些时间戳,我试图从catalina.out中读取它,但是对于我的项目负责人而言,这样做是不正确的那。 谢谢高级

您有两个选择,创建HotDeployListener或侦听messagebus HOT_DEPLOY消息

选项1:HotDeployListener

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

请参阅portal.properties的“热部署”部分中的缺省值

热部署侦听器接收到HotDeployEvent对象,该对象包含有关正在部署的Portlet的信息, 例如可以检索servletcontext。

您必须实现自己的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_DEPLOY消息

部署Portlet之后,MessagingHotDeployListener将HOT_DEPLOY消息发送到Liferay消息总线,请参阅: portal-impl / src / com / liferay / portal / deploy / hot / MessagingHotDeployListener.java#L70-L75

您可以侦听该事件并创建一个侦听器,然后调用MessageBusUtil.registerMessageListener(DestinationNames.HOT_DEPLOY, myListener)MessageBusUtil.registerMessageListener("liferay/hot_deploy", myListener)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM