001
014
015 package com.liferay.portal.kernel.nio.intraband.messaging;
016
017 import com.liferay.portal.kernel.messaging.Message;
018 import com.liferay.portal.kernel.messaging.MessageListener;
019 import com.liferay.portal.kernel.nio.intraband.Datagram;
020 import com.liferay.portal.kernel.nio.intraband.Intraband;
021 import com.liferay.portal.kernel.nio.intraband.RegistrationReference;
022 import com.liferay.portal.kernel.nio.intraband.SystemDataType;
023
024
027 public class IntrabandBridgeMessageListener implements MessageListener {
028
029 public IntrabandBridgeMessageListener(
030 RegistrationReference registrationReference) {
031
032 _registrationReference = registrationReference;
033
034 _intraband = registrationReference.getIntraband();
035
036 SystemDataType systemDataType = SystemDataType.MESSAGE;
037
038 _messageType = systemDataType.getValue();
039 }
040
041 @Override
042 public void receive(Message message) {
043 MessageRoutingBag messageRoutingBag = new MessageRoutingBag(
044 message, false);
045
046 _intraband.sendDatagram(
047 _registrationReference,
048 Datagram.createRequestDatagram(
049 _messageType, messageRoutingBag.toByteArray()));
050 }
051
052 private final Intraband _intraband;
053 private final byte _messageType;
054 private final RegistrationReference _registrationReference;
055
056 }