All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.azure.servicebus.ISessionHandler Maven / Gradle / Ivy

Go to download

Java library for Azure Service Bus. Please note, a newer package com.azure:azure-messaging-servicebus for Azure Service Bus is available as of December 2020. While this package will continue to receive critical bug fixes, we strongly encourage you to upgrade. Read the migration guide at https://aka.ms/azsdk/java/migrate/sb for more details.

There is a newer version: 3.6.7
Show newest version
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.microsoft.azure.servicebus;

import java.util.concurrent.CompletableFuture;

/**
 * Defines the contract for registering the session message processing callback {@link QueueClient#registerSessionHandler(ISessionHandler)} or {@link SubscriptionClient#registerSessionHandler(ISessionHandler)} for {@link QueueClient} and {@link SubscriptionClient}.
 */
public interface ISessionHandler {

    /**
     * The callback for message pump to pass received {@link Message}s.
     *
     * @param session The {@link MessageSession} of the message.
     * @param message The received {@link Message}.
     * @return CompletableFuture for the message handler.
     */
    CompletableFuture onMessageAsync(IMessageSession session, IMessage message);

    /**
     * Called just before a session is closed by the session pump
     *
     * @param session session being closed
     * @return a future that executes the action
     */
    CompletableFuture OnCloseSessionAsync(IMessageSession session);

    /**
     * Receiving the exceptions that passed by pump during message processing.
     *
     * @param exception Exception received in pump.
     * @param phase     Exception phase.
     */
    void notifyException(Throwable exception, ExceptionPhase phase);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy