本文主要研究一下rocketmq的RemotingExceptionjava
org/apache/rocketmq/remoting/exception/RemotingException.javagit
public class RemotingException extends Exception { private static final long serialVersionUID = -5690687334570505110L; public RemotingException(String message) { super(message); } public RemotingException(String message, Throwable cause) { super(message, cause); } }
org/apache/rocketmq/remoting/exception/RemotingCommandException.javagithub
public class RemotingCommandException extends RemotingException { private static final long serialVersionUID = -6061365915274953096L; public RemotingCommandException(String message) { super(message, null); } public RemotingCommandException(String message, Throwable cause) { super(message, cause); } }
org/apache/rocketmq/remoting/exception/RemotingConnectException.javaapache
public class RemotingConnectException extends RemotingException { private static final long serialVersionUID = -5565366231695911316L; public RemotingConnectException(String addr) { this(addr, null); } public RemotingConnectException(String addr, Throwable cause) { super("connect to <" + addr + "> failed", cause); } }
org/apache/rocketmq/remoting/exception/RemotingSendRequestException.javathis
public class RemotingSendRequestException extends RemotingException { private static final long serialVersionUID = 5391285827332471674L; public RemotingSendRequestException(String addr) { this(addr, null); } public RemotingSendRequestException(String addr, Throwable cause) { super("send request to <" + addr + "> failed", cause); } }
org/apache/rocketmq/remoting/exception/RemotingTimeoutException.javacode
public class RemotingTimeoutException extends RemotingException { private static final long serialVersionUID = 4106899185095245979L; public RemotingTimeoutException(String message) { super(message); } public RemotingTimeoutException(String addr, long timeoutMillis) { this(addr, timeoutMillis, null); } public RemotingTimeoutException(String addr, long timeoutMillis, Throwable cause) { super("wait response on the channel <" + addr + "> timeout, " + timeoutMillis + "(ms)", cause); } }
org/apache/rocketmq/remoting/exception/RemotingTooMuchRequestException.java繼承
public class RemotingTooMuchRequestException extends RemotingException { private static final long serialVersionUID = 4326919581254519654L; public RemotingTooMuchRequestException(String message) { super(message); } }
rocketmq的remoting模塊的異常採用的是checked exception,定義了根異常RemotingException,底下有幾個異常分別爲RemotingCommandException、RemotingConnectException、RemotingSendRequestException、RemotingTimeoutException、RemotingTooMuchRequestException。rem