001
014
015 package com.liferay.portal.monitoring.messaging;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019 import com.liferay.portal.kernel.messaging.Message;
020 import com.liferay.portal.kernel.messaging.MessageListener;
021 import com.liferay.portal.monitoring.statistics.DataSample;
022 import com.liferay.portal.monitoring.statistics.DataSampleProcessor;
023
024
028 public class MonitoringMessageListener implements MessageListener {
029
030 public void receive(Message message) {
031 try {
032 doReceive(message);
033 }
034 catch (Exception e) {
035 _log.error("Unable to process message " + message, e);
036 }
037 }
038
039 public void setDataSampleProcessor(
040 DataSampleProcessor<DataSample> dataSampleProcessor) {
041
042 _dataSampleProcessor = dataSampleProcessor;
043 }
044
045 protected void doReceive(Message message) throws Exception {
046 DataSample dataSample = (DataSample)message.getPayload();
047
048 if (dataSample != null) {
049 _dataSampleProcessor.processDataSample(dataSample);
050 }
051 }
052
053 private static Log _log = LogFactoryUtil.getLog(
054 MonitoringMessageListener.class);
055
056 private DataSampleProcessor<DataSample> _dataSampleProcessor;
057
058 }