jakarta.jms.JMSException Maven / Gradle / Ivy
Go to download
This artifact provides a single jar that contains all classes required to use remote EJB and JMS, including
all dependencies. It is intended for use by those not using maven, maven users should just import the EJB and
JMS BOM's instead (shaded JAR's cause lots of problems with maven, as it is very easy to inadvertently end up
with different versions on classes on the class path).
/*
* Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2021 Contributors to the Eclipse Foundation
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception, which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
package jakarta.jms;
/**
*
* This is the root class of all checked exceptions in the Jakarta Messaging API.
*
*
* It provides the following information:
*
* - A provider-specific string describing the error. This string is the standard exception message and is available
* via the {@code getMessage} method.
*
- A provider-specific string error code
*
- A reference to another exception. Often a Jakarta Messaging API exception will be the result of a lower-level problem. If
* appropriate, this lower-level exception can be linked to the Jakarta Messaging API exception.
*
*
* @version Jakarta Messaging 2.0
* @since JMS 1.0
*
**/
public class JMSException extends Exception {
/**
* Explicitly set serialVersionUID to be the same as the implicit serialVersionUID of the Java Message Service 1.1 version
*/
private static final long serialVersionUID = 8951994251593378324L;
/**
* Vendor-specific error code.
**/
private String errorCode;
/**
* {@code Exception} reference.
**/
private Exception linkedException;
/**
* Constructs a {@code JMSException} with the specified reason, error code
* and linked exception.
*
* @param reason a description of the exception
* @param errorCode a string specifying the vendor-specific error code
* @param linkedException the linked {@code Exception}
**/
public JMSException(String reason, String errorCode, Exception linkedException) {
super(reason);
this.errorCode = errorCode;
this.linkedException = linkedException;
}
/**
* Constructs a {@code JMSException} with the specified reason and error code.
*
* @param reason a description of the exception
* @param errorCode a string specifying the vendor-specific error code
**/
public JMSException(String reason, String errorCode) {
super(reason);
this.errorCode = errorCode;
linkedException = null;
}
/**
* Constructs a {@code JMSException} with the specified reason and with the error code defaulting to null.
*
* @param reason a description of the exception
**/
public JMSException(String reason) {
super(reason);
this.errorCode = null;
linkedException = null;
}
/**
* Gets the vendor-specific error code.
*
* @return a string specifying the vendor-specific error code
**/
public String getErrorCode() {
return this.errorCode;
}
/**
* Gets the exception linked to this one.
*
* @return the linked {@code Exception}, null if none
**/
public Exception getLinkedException() {
return linkedException;
}
/**
* Adds a linked {@code Exception}.
*
* @param ex the linked {@code Exception}
**/
public void setLinkedException(Exception ex) {
linkedException = ex;
}
}