/** * <p>Equivalent to {@link #subscribe(ClientSessionChannel.MessageListener, ClientSession.MessageListener) * subscribe(listener, null)}.</p> * * @param listener the listener to register and invoke when a message arrives on this channel. * @return whether the subscribe message has been sent */ public default boolean subscribe(MessageListener listener) { return subscribe(listener, ClientSession.MessageListener.NOOP); }
/** * <p>Equivalent to {@link #subscribe(Message.Mutable, MessageListener, ClientSession.MessageListener) * subscribe(null, listener, callback)}.</p> * * @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 * @return whether the subscribe message has been sent */ public default boolean subscribe(MessageListener listener, ClientSession.MessageListener callback) { return subscribe(null, listener, callback); }
/** * @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)); }
private void subscribe() { clientSession.getChannel(subscription).subscribe(this); } }
localSession.getChannel(channel).subscribe(subscriptionCallback);
clientSession.getChannel(channel).subscribe(subscriptionCallback);
Future<TopicSubscription> subscribe() { Long replayFrom = getReplayFrom(); ClientSessionChannel channel = client.getChannel(topic); CompletableFuture<TopicSubscription> future = new CompletableFuture<>(); channel.subscribe((c, message) -> consumer.accept(message.getDataAsMap()), (c, message) -> { if (message.isSuccessful()) { future.complete(this); } else { Object error = message.get(ERROR); if (error == null) { error = message.get(FAILURE); } future.completeExceptionally( new CannotSubscribe(parameters.endpoint(), topic, replayFrom, error != null ? error : message)); } }); return future; } }
client.getChannel(channelName).subscribe(messageListener);