001
014
015 package com.liferay.portal.cache.cluster.clusterlink;
016
017 import com.liferay.portal.kernel.cache.cluster.BasePortalCacheClusterChannel;
018 import com.liferay.portal.kernel.cache.cluster.PortalCacheClusterEvent;
019 import com.liferay.portal.kernel.cluster.ClusterLinkUtil;
020 import com.liferay.portal.kernel.cluster.Priority;
021 import com.liferay.portal.kernel.io.Serializer;
022 import com.liferay.portal.kernel.messaging.Message;
023
024 import java.nio.ByteBuffer;
025
026
029 public class ClusterLinkPortalCacheClusterChannel
030 extends BasePortalCacheClusterChannel {
031
032 public ClusterLinkPortalCacheClusterChannel(
033 String destinationName, Priority priority) {
034
035 _destinationName = destinationName;
036 _priority = priority;
037 }
038
039 @Override
040 public void dispatchEvent(PortalCacheClusterEvent portalCacheClusterEvent) {
041 Message message = new Message();
042
043 message.setDestinationName(_destinationName);
044
045 Serializer serializer = new Serializer();
046
047 serializer.writeObject(portalCacheClusterEvent);
048
049 ByteBuffer byteBuffer = serializer.toByteBuffer();
050
051 message.setPayload(byteBuffer.array());
052
053 ClusterLinkUtil.sendMulticastMessage(message, _priority);
054 }
055
056 private String _destinationName;
057 private Priority _priority;
058
059 }