001
014
015 package com.liferay.portal.kernel.messaging;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019
020 import java.util.concurrent.atomic.AtomicLong;
021
022
025 public class SynchronousDestination extends BaseDestination {
026
027 @Override
028 public DestinationStatistics getDestinationStatistics() {
029 DestinationStatistics destinationStatistics =
030 new DestinationStatistics();
031
032 destinationStatistics.setSentMessageCount(_sentMessageCounter.get());
033
034 return destinationStatistics;
035 }
036
037 @Override
038 public void send(Message message) {
039 for (MessageListener messageListener : messageListeners) {
040 try {
041 messageListener.receive(message);
042 }
043 catch (MessageListenerException mle) {
044 _log.error("Unable to process message " + message, mle);
045 }
046 }
047
048 _sentMessageCounter.incrementAndGet();
049 }
050
051 private static Log _log = LogFactoryUtil.getLog(
052 SynchronousDestination.class);
053
054 private AtomicLong _sentMessageCounter = new AtomicLong();
055
056 }