package com.nvarghese.beowulf.sfc.jms.listeners;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.nvarghese.beowulf.common.jobs.NewScanJob;
import com.nvarghese.beowulf.common.jobs.ReportGenerateJob;
import com.nvarghese.beowulf.sfc.services.NewScanService;
import com.nvarghese.beowulf.sfc.services.ReportService;
public class BwControllerQueueListener implements MessageListener {
static Logger logger = LoggerFactory.getLogger(BwControllerQueueListener.class);
@Override
public void onMessage(Message message) {
if (message instanceof ObjectMessage) {
ObjectMessage objMessage = (ObjectMessage) message;
routeObjectMessage(objMessage);
}
}
private void routeObjectMessage(ObjectMessage objMessage) {
try {
Object object = objMessage.getObject();
if (object instanceof NewScanJob) {
final NewScanJob newScanJob = (NewScanJob) object;
new Thread() {
public void run() {
NewScanService newScanService = new NewScanService();
newScanService.startScan(newScanJob);
}
}.start();
} else if (object instanceof ReportGenerateJob) {
final ReportGenerateJob reportGenJob = (ReportGenerateJob) object;
new Thread() {
public void run() {
ReportService reportService = new ReportService();
reportService.generateReport(reportGenJob);
}
}.start();
}
} catch (JMSException e) {
}
}
}