com.microsoft.azure.servicebus.MessageSession Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-servicebus Show documentation
Show all versions of azure-servicebus Show documentation
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.
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
package com.microsoft.azure.servicebus;
import java.net.URI;
import java.time.Instant;
import java.util.concurrent.CompletableFuture;
import com.microsoft.azure.servicebus.primitives.MessagingEntityType;
import com.microsoft.azure.servicebus.primitives.MessagingFactory;
import com.microsoft.azure.servicebus.primitives.ServiceBusException;
public class MessageSession extends MessageReceiver implements IMessageSession {
private String requestedSessionId;
MessageSession(URI namespaceEndpointURI, String entityPath, MessagingEntityType entityType, String requestedSessionId, ClientSettings clientSettings, ReceiveMode receiveMode) {
super(namespaceEndpointURI, entityPath, entityType, clientSettings, receiveMode);
this.requestedSessionId = requestedSessionId;
}
MessageSession(MessagingFactory messagingFactory, String entityPath, MessagingEntityType entityType, String requestedSessionId, ReceiveMode receiveMode) {
super(messagingFactory, entityPath, entityType, receiveMode);
this.requestedSessionId = requestedSessionId;
}
@Override
protected final boolean isSessionReceiver() {
return true;
}
@Override
protected boolean isBrowsableSession() {
return false;
}
@Override
protected String getRequestedSessionId() {
return this.requestedSessionId;
}
@Override
public Instant getLockedUntilUtc() {
return this.getInternalReceiver().getSessionLockedUntilUtc();
}
@Override
public void renewSessionLock() throws InterruptedException, ServiceBusException {
Utils.completeFuture(this.renewSessionLockAsync());
}
@Override
public CompletableFuture renewSessionLockAsync() {
return this.getInternalReceiver().renewSessionLocksAsync();
}
@Override
public void setState(byte[] sessionState) throws InterruptedException, ServiceBusException {
Utils.completeFuture(this.setStateAsync(sessionState));
}
@Override
public CompletableFuture setStateAsync(byte[] sessionState) {
return this.getInternalReceiver().setSessionStateAsync(sessionState);
}
@Override
public byte[] getState() throws InterruptedException, ServiceBusException {
return Utils.completeFuture(this.getStateAsync());
}
@Override
public CompletableFuture getStateAsync() {
return this.getInternalReceiver().getSessionStateAsync();
}
@Override
public String getSessionId() {
return this.getInternalReceiver().getSessionId();
}
}