我对Liferay Startup Events有疑问。
在Liferay文档中给出了:
启动事件
输入扩展
com.liferay.portal.struts.SimpleAction
的逗号分隔的类名列表。这些类将在指定的事件中运行。
有人可以告诉我global.startup.events
和application.startup.events
之间有什么区别吗?任何机构可以告诉我在什么情况下我们需要覆盖它们?
这两个启动事件是否应该扩展com.liferay.portal.struts.SimpleAction
?我除了SimpleAction
之外找不到任何内容:
public abstract class SimpleAction {
public abstract void run(String[] ids) throws ActionException;
}
}
我也想知道这个类什么都不包含,Liferay如何知道要读取和处理的XML文件?
由于
答案 0 :(得分:15)
global.startup.events
- 为全局服务器运行一次
application.startup.events
- 在启动时为每个门户网站实例运行。如果您的服务器上有一个门户网站实例(正常情况) - 这些属性之间没有区别。我使用application.startup.events
。
扩展com.liferay.portal.kernel.events.SimpleAction
类和impliment run
- methode,将由liferay启动调用。为此,创建一个hook插件并在liferay-hook.xml中注册属性文件,例如:
<hook>
<portal-properties>portal-myext.properties</portal-properties>
</hook>
在类路径中创建portal-myext.properties
并设置启动操作:
application.startup.events=com.my.actions.MyStartupAction
动作MyStartupAction
必须位于同一个类路径中,因此同一个hook-plugin。