java - 使用 liferay 6.1 安排工作
问题描述
我正在引用此链接链接
用liferay安排我的工作。
我添加了 Job Scheduler 类,它是:-
import com.liferay.portal.kernel.messaging.Message;
import com.liferay.portal.kernel.messaging.MessageListener;
import com.liferay.portal.kernel.messaging.MessageListenerException;
public class SchedulerLiferay implements MessageListener {
@Override
public void receive(Message arg0) throws MessageListenerException {
System.out.println("hello world");
}
}
在我的 liferay portlet.xml 文件中,我添加了:-
<portlet>
<portlet-name>quartz-demo</portlet-name>
<icon>/icon.png</icon>
<scheduler-entry>
<scheduler-event-listener-class>com.infinite.npsc.Job.SchedulerLiferay</scheduler-event-listener-class>
<trigger>
<!-- <simple>
<simple-trigger-value>
5
</simple-trigger-value>
<time-unit>second</time-unit>
</simple> -->
<cron>
<cron-trigger-value>0/5 * * * * ?</cron-trigger-value>
</cron>
</trigger>
</scheduler-entry>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<css-class-wrapper>quartz-demo-portlet</css-class-wrapper>
</portlet>
我还在我的portlet.xml 文件中添加了这个 portlet,如下所示:-
<portlet>
<portlet-name>quartz-demo</portlet-name>
<display-name>Quartz Demo</display-name>
<portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class>
<init-param>
<name>view-template</name>
<value>/view.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<portlet-info>
<title>Quartz Demo</title>
<short-title>Quartz Demo</short-title>
<keywords>Quartz Demo</keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
作业不会运行。应用程序成功启动,但没有任何反应。我希望hello world
每 5 秒在控制台中打印一次。
解决方案
Liferay Cron 调度器有点敏感,不接受每个值。
您可以使用它每分钟执行一次作业:
0 0/1 * 1/1 * ? *
在http://www.cronmaker.com/上,你会得到一个 Liferay 接受的表达式。
推荐阅读
- php - WordPress 如何使用 get_user_meta() 获取嵌套数组的数据
- python - 如何修复 ValueError:输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值。错误
- reactjs - 如何从用户定义的输入中上传图像以做出反应?
- python - 如何根据从一个类别转移到另一个类别(按顺序)的 id 列计算行数?
- c++ - 从文件中读取大量数据时,如何获得准确的输出?
- r - 通过变量安装包
- python - 在考虑日期的同时合并两个数据框
- c# - 是否可以同步订阅 Redis 消息通道?
- kotlin - Groovy/Spock 可以在 Kotlin 中同时模拟方法和接口实现吗?
- python - 为 matplotlib 轴标签格式化 Python Latex 字符串