1
14
15 package com.liferay.portal.kernel.cluster.messaging;
16
17 import com.liferay.portal.kernel.cluster.Address;
18 import com.liferay.portal.kernel.cluster.ClusterLinkUtil;
19 import com.liferay.portal.kernel.cluster.Priority;
20 import com.liferay.portal.kernel.log.Log;
21 import com.liferay.portal.kernel.log.LogFactoryUtil;
22 import com.liferay.portal.kernel.messaging.Message;
23 import com.liferay.portal.kernel.messaging.MessageListener;
24
25
31 public class ClusterBridgeMessageListener implements MessageListener {
32
33 public void receive(Message message) {
34 if (!_active) {
35 return;
36 }
37
38 if (ClusterLinkUtil.isForwardMessage(message)) {
39 return;
40 }
41
42 Address address = ClusterLinkUtil.getAddress(message);
43
44 if (address == null) {
45 if (_log.isInfoEnabled()) {
46 _log.info("Bridging cluster link multicast message " + message);
47 }
48
49 ClusterLinkUtil.sendMulticastMessage(message, _priority);
50 }
51 else {
52 if (_log.isInfoEnabled()) {
53 _log.info(
54 "Bridging cluster link unicast message " + message +
55 " to " + address);
56 }
57
58 ClusterLinkUtil.sendUnicastMessage(address, message, _priority);
59 }
60 }
61
62 public void setActive(boolean active) {
63 _active = active;
64 }
65
66 public void setPriority(Priority priority) {
67 _priority = priority;
68 }
69
70 private static Log _log = LogFactoryUtil.getLog(
71 ClusterBridgeMessageListener.class);
72
73 private boolean _active = true;
74 private Priority _priority;
75
76 }