001
014
015 package com.liferay.portal.cluster;
016
017 import com.liferay.portal.kernel.cluster.messaging.ClusterForwardMessageListener;
018 import com.liferay.portal.kernel.log.Log;
019 import com.liferay.portal.kernel.log.LogFactoryUtil;
020
021 import java.util.List;
022
023 import org.jgroups.Address;
024 import org.jgroups.Message;
025 import org.jgroups.View;
026
027
030 public class ClusterForwardReceiver extends BaseReceiver {
031
032 public ClusterForwardReceiver(
033 List<Address> localTransportAddresses,
034 ClusterForwardMessageListener clusterForwardMessageListener) {
035
036 _localTransportAddresses = localTransportAddresses;
037 _clusterForwardMessageListener = clusterForwardMessageListener;
038 }
039
040 @Override
041 public void receive(Message message) {
042 if ((!_localTransportAddresses.contains(message.getSrc())) ||
043 (message.getDest() != null)) {
044
045 _clusterForwardMessageListener.receive(
046 (com.liferay.portal.kernel.messaging.Message)
047 message.getObject());
048 }
049 else {
050 if (_log.isDebugEnabled()) {
051 _log.debug("Block received message " + message);
052 }
053 }
054 }
055
056 @Override
057 public void viewAccepted(View view) {
058 if (_log.isDebugEnabled()) {
059 _log.debug("Accepted view " + view);
060 }
061 }
062
063 private static Log _log = LogFactoryUtil.getLog(
064 ClusterForwardReceiver.class);
065
066 private ClusterForwardMessageListener _clusterForwardMessageListener;
067 private List<org.jgroups.Address> _localTransportAddresses;
068
069 }