我正在开发一个部署为 WAR 的 portlet。数据库模型由服务构建器创建。安装 WAR 后如何将初始数据模型插入数据库?
问问题
1552 次
3 回答
1
您可以作为 StartupAction 执行此操作,在插件启动时执行(阅读:在部署期间和后续服务器启动期间)或作为 UpgradeAction。
一个很好的例子是 Liferay CE 附带的 Sevencogs-hook,其中包含源代码。这是作为 UpgradeAction 实现的 - 例如,在第一次启动时,您的数据库内容将被“升级”以包含 Sevencogs 示例数据。
于 2012-05-06T10:30:23.180 回答
1
portal.properties
将具有以下属性的文件添加到项目中:
application.startup.events=com.my.project.MyStartupAction
并将启动导入作为 SimpleAction 的扩展:
package com.my.project;
import com.liferay.portal.kernel.events.ActionException;
import com.liferay.portal.kernel.events.SimpleAction;
public class MyStartupAction extends SimpleAction {
@Override
public void run(String[] arg0) throws ActionException {
if(startupDataNotExist()) {
createStartupData();
}
}
...
于 2012-05-06T10:34:44.260 回答
0
您也可以使用升级过程来做到这一点。以下是分步说明
于 2012-07-16T16:00:00.960 回答