[英]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消息
部署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。
部署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.