protected void notifyOnMessage(MessageListener listener, Message message) { throwIfReleased(); try { listener.onMessage(this, message); } catch (Throwable x) { _logger.info("Exception while invoking listener " + listener, x); } }
/** * @param listener the listener to register and invoke when a message arrives on this channel * @param callback the callback to notify of the subscribe result * @deprecated use {@link #subscribe(MessageListener, ClientSession.MessageListener)} instead */ @Deprecated public default void subscribe(MessageListener listener, MessageListener callback) { subscribe(listener, message -> callback.onMessage(this, message)); }
/** * <p>Disconnects this session, ending the link between the client and the server peers.</p> * * @param callback the message listener to notify of the disconnect result */ void disconnect(MessageListener callback);
/** * @param template additional fields to add to the handshake message. * @param callback the message listener to notify of the handshake result * @deprecated use {@link #handshake(Map, MessageListener)} instead */ @Deprecated default void handshake(Map<String, Object> template, ClientSessionChannel.MessageListener callback) { handshake(template, message -> callback.onMessage(getChannel(Channel.META_HANDSHAKE), message)); }
/** * @param callback the message listener to notify of the handshake result * @deprecated use {@link #handshake(MessageListener)} instead */ @Deprecated public void handshake(ClientSessionChannel.MessageListener callback) { handshake(null, message -> callback.onMessage(getChannel(Channel.META_HANDSHAKE), message)); }
/** * @param listener the listener to unsubscribe * @param callback the callback to notify of the unsubscribe result * @deprecated use {@link #unsubscribe(MessageListener, ClientSession.MessageListener)} instead */ @Deprecated public default void unsubscribe(MessageListener listener, MessageListener callback) { unsubscribe(listener, message -> callback.onMessage(this, message)); }
/** * @param data the data to publish * @param callback the message callback to notify of the publish result * @deprecated use {@link #publish(Object, ClientSession.MessageListener)} instead */ @Deprecated public default void publish(Object data, MessageListener callback) { publish(data, message -> callback.onMessage(this, message)); }
/** * @param message the message to publish * @param callback the message callback to notify of the publish result * @deprecated use {@link #publish(Message.Mutable, ClientSession.MessageListener)} instead */ @Deprecated public default void publish(Message.Mutable message, MessageListener callback) { publish(message, m -> callback.onMessage(this, m)); }