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

com.microsoft.azure.servicebus.primitives.ServiceBusException 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. All rights reserved.
 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
 */
package com.microsoft.azure.servicebus.primitives;

import java.util.Locale;

/**
 * This is the base exception that service bus will generate for all error cases.
 * @since 1.0
 */
public class ServiceBusException extends Exception
{
	private static final long serialVersionUID = -3654294093967132325L;

	private boolean isTransient;
	private ErrorContext errorContext;

	public ServiceBusException(final boolean isTransient)
	{
		super();
		this.isTransient = isTransient;
	}

	public ServiceBusException(final boolean isTransient, final String message)
	{
		super(message);
		this.isTransient = isTransient;
	}
	
	public ServiceBusException(final boolean isTransient, final Throwable cause)
	{
		super(cause);
		this.isTransient = isTransient;
	}

	public ServiceBusException(final boolean isTransient, final String message, final Throwable cause)
	{
		super(message, cause);
		this.isTransient = isTransient;
	}

	@Override
	public String getMessage()
	{
		final String baseMessage = super.getMessage();
		return this.errorContext == null || StringUtil.isNullOrEmpty(this.errorContext.toString())
				? baseMessage
						: (!StringUtil.isNullOrEmpty(baseMessage) 
								? String.format(Locale.US, "%s, %s[%s]", baseMessage, "errorContext", this.errorContext.toString())
										: String.format(Locale.US, "%s[%s]", "errorContext", this.errorContext.toString()));
	}

	/**
	 * A boolean indicating if the exception is a transient error or not.
	 * @return returns true when user can retry the operation that generated the exception without additional intervention.
	 */
	public boolean getIsTransient()
	{
		return this.isTransient;
	}

	public ErrorContext getContext()
	{
		return this.errorContext;
	}

	void setContext(ErrorContext errorContext)
	{
		this.errorContext = errorContext;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy