未验证 提交 48476ae5 编写于 作者: Z Zhanhui Li 提交者: GitHub

Standardize the startup class structure (#243)

上级 bf848c14
...@@ -79,6 +79,12 @@ public class BrokerStartup { ...@@ -79,6 +79,12 @@ public class BrokerStartup {
return null; return null;
} }
public static void shutdown(final BrokerController controller) {
if (null != controller) {
controller.shutdown();
}
}
public static BrokerController createBrokerController(String[] args) { public static BrokerController createBrokerController(String[] args) {
System.setProperty(RemotingCommand.REMOTING_VERSION_KEY, Integer.toString(MQVersion.CURRENT_VERSION)); System.setProperty(RemotingCommand.REMOTING_VERSION_KEY, Integer.toString(MQVersion.CURRENT_VERSION));
......
...@@ -18,8 +18,10 @@ package org.apache.rocketmq.namesrv; ...@@ -18,8 +18,10 @@ package org.apache.rocketmq.namesrv;
import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator; import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.joran.spi.JoranException;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.Properties; import java.util.Properties;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
...@@ -40,16 +42,34 @@ import org.apache.rocketmq.srvutil.ShutdownHookThread; ...@@ -40,16 +42,34 @@ import org.apache.rocketmq.srvutil.ShutdownHookThread;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
public class NamesrvStartup { public class NamesrvStartup {
public static Properties properties = null;
public static CommandLine commandLine = null; private static InternalLogger log;
private static Properties properties = null;
private static CommandLine commandLine = null;
public static void main(String[] args) { public static void main(String[] args) {
main0(args); main0(args);
} }
public static NamesrvController main0(String[] args) { public static NamesrvController main0(String[] args) {
System.setProperty(RemotingCommand.REMOTING_VERSION_KEY, Integer.toString(MQVersion.CURRENT_VERSION));
try { try {
NamesrvController controller = createNamesrvController(args);
start(controller);
String tip = "The Name Server boot success. serializeType=" + RemotingCommand.getSerializeTypeConfigInThisServer();
log.info(tip);
System.out.printf("%s%n", tip);
return controller;
} catch (Throwable e) {
e.printStackTrace();
System.exit(-1);
}
return null;
}
public static NamesrvController createNamesrvController(String[] args) throws IOException, JoranException {
System.setProperty(RemotingCommand.REMOTING_VERSION_KEY, Integer.toString(MQVersion.CURRENT_VERSION));
//PackageConflictDetect.detectFastjson(); //PackageConflictDetect.detectFastjson();
Options options = ServerUtil.buildCommandlineOptions(new Options()); Options options = ServerUtil.buildCommandlineOptions(new Options());
...@@ -96,7 +116,8 @@ public class NamesrvStartup { ...@@ -96,7 +116,8 @@ public class NamesrvStartup {
configurator.setContext(lc); configurator.setContext(lc);
lc.reset(); lc.reset();
configurator.doConfigure(namesrvConfig.getRocketmqHome() + "/conf/logback_namesrv.xml"); configurator.doConfigure(namesrvConfig.getRocketmqHome() + "/conf/logback_namesrv.xml");
final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME);
log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME);
MixAll.printObjectProperties(log, namesrvConfig); MixAll.printObjectProperties(log, namesrvConfig);
MixAll.printObjectProperties(log, nettyServerConfig); MixAll.printObjectProperties(log, nettyServerConfig);
...@@ -106,6 +127,15 @@ public class NamesrvStartup { ...@@ -106,6 +127,15 @@ public class NamesrvStartup {
// remember all configs to prevent discard // remember all configs to prevent discard
controller.getConfiguration().registerConfig(properties); controller.getConfiguration().registerConfig(properties);
return controller;
}
public static NamesrvController start(final NamesrvController controller) throws Exception {
if (null == controller) {
throw new IllegalArgumentException("NamesrvController is null");
}
boolean initResult = controller.initialize(); boolean initResult = controller.initialize();
if (!initResult) { if (!initResult) {
controller.shutdown(); controller.shutdown();
...@@ -122,17 +152,11 @@ public class NamesrvStartup { ...@@ -122,17 +152,11 @@ public class NamesrvStartup {
controller.start(); controller.start();
String tip = "The Name Server boot success. serializeType=" + RemotingCommand.getSerializeTypeConfigInThisServer();
log.info(tip);
System.out.printf("%s%n", tip);
return controller; return controller;
} catch (Throwable e) {
e.printStackTrace();
System.exit(-1);
} }
return null; public static void shutdown(final NamesrvController controller) {
controller.shutdown();
} }
public static Options buildCommandlineOptions(final Options options) { public static Options buildCommandlineOptions(final Options options) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册