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 public DestinationStatistics getDestinationStatistics() {
028 DestinationStatistics destinationStatistics =
029 new DestinationStatistics();
030
031 destinationStatistics.setSentMessageCount(_sentMessageCounter.get());
032
033 return destinationStatistics;
034 }
035
036 public void send(Message message) {
037 for (MessageListener messageListener : messageListeners) {
038 try {
039 messageListener.receive(message);
040 }
041 catch (MessageListenerException mle) {
042 _log.error("Unable to process message " + message, mle);
043 }
044 }
045
046 _sentMessageCounter.incrementAndGet();
047 }
048
049 private static Log _log = LogFactoryUtil.getLog(
050 SynchronousDestination.class);
051
052 private AtomicLong _sentMessageCounter = new AtomicLong();
053
054 }