ARTEMIS-2803 avoid NPE w/o cluster-connection

This commit is contained in:
Justin Bertram 2020-06-12 14:51:38 -05:00 committed by Clebert Suconic
parent 3810146dd2
commit 51ecab5141
2 changed files with 11 additions and 0 deletions

View File

@ -1687,6 +1687,11 @@ public interface ActiveMQServerLogger extends BasicLogger {
format = Message.Format.MESSAGE_FORMAT)
void noMatchingBindingsOnDLAWithAutoCreateDLAResources(SimpleString address, String message);
@LogMessage(level = Logger.Level.WARN)
@Message(id = 222290, value = "Failed to find cluster-connection when handling cluster-connect packet. Ignoring: {0}",
format = Message.Format.MESSAGE_FORMAT)
void failedToFindClusterConnection(String packet);
@LogMessage(level = Logger.Level.ERROR)
@Message(id = 224000, value = "Failure in initialisation", format = Message.Format.MESSAGE_FORMAT)
void initializationError(@Cause Throwable e);

View File

@ -359,6 +359,12 @@ public class ClusterController implements ActiveMQComponent {
clusterConnection = server.getClusterManager().getDefaultConnection(null);
}
//if there is no default cluster connection then just ignore the packet with a log message
if (clusterConnection == null) {
ActiveMQServerLogger.LOGGER.failedToFindClusterConnection(packet.toString());
return;
}
ClusterConnectMessage msg = (ClusterConnectMessage) packet;
if (server.getConfiguration().isSecurityEnabled() && !clusterConnection.verify(msg.getClusterUser(), msg.getClusterPassword())) {