Spring 使用自动连线的Liferay中的计划任务
我正在尝试在liferay portlet中创建计划任务 Liferay:6.2 弹簧:3.1.4.释放 与 方法是发射。但是服务组件为null。正常情况下,其他部件的服务是否正常工作 我试图找到解决方案,但可能缺少一些设置。Spring 使用自动连线的Liferay中的计划任务,spring,liferay,scheduled-tasks,autowired,Spring,Liferay,Scheduled Tasks,Autowired,我正在尝试在liferay portlet中创建计划任务 Liferay:6.2 弹簧:3.1.4.释放 与 方法是发射。但是服务组件为null。正常情况下,其他部件的服务是否正常工作 我试图找到解决方案,但可能缺少一些设置。 Thanx,MessageListener不是由Spring实例化的,而是由Liferay实例化的(请参见QuartzSchedulerEngine.getMessageListener(String,ClassLoader))。Liferay只是实例化了这个类。因此,您
Thanx,
MessageListener
不是由Spring实例化的,而是由Liferay实例化的(请参见QuartzSchedulerEngine.getMessageListener(String,ClassLoader)
)。Liferay只是实例化了这个类。因此,您无法将任何内容自动连接到liferayportlet.xml
中定义的MessageListener中
但是,如果您的服务是在门户应用程序上下文中定义的,则可以使用PortalBeanLocatorUtil.locate
<scheduler-entry>
<scheduler-description>test-scheduler</scheduler-description>
<scheduler-event-listener-class>
project.ScheduledProcesser
</scheduler-event-listener-class>
<trigger>
<simple>
<simple-trigger-value>
1
</simple-trigger-value>
<time-unit>minute</time-unit>
</simple>
</trigger>
</scheduler-entry>
@Component
public class ScheduledProcesser implements MessageListener {
private static Log log = LogFactoryUtil
.getLog(ScheduledProcesser.class);
@Autowired
@Qualifier("myRequestService")
private RequestService service;
@Override
public void receive(Message message) throws MessageListenerException {
log.info("Starting");
Request req = service.get("AAA746");
if (req!=null)
log.info("REQ -" + req.getId());
log.info("Finished");
}