package com.yihu.hos.arbiter; import com.yihu.hos.arbiter.configuration.ArbiterServerConfiguration; import com.yihu.hos.arbiter.services.ProxyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.zbus.mq.server.MqServer; import org.zbus.mq.server.MqServerConfig; @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class HosArbiterApplication implements CommandLineRunner { private ArbiterServerConfiguration configuration; private ProxyService proxyService; public static void main(String[] args) { SpringApplication.run(HosArbiterApplication.class, args); } @Override public void run(String... strings) throws Exception { if (configuration.isCentral()) { MqServerConfig config = new MqServerConfig(); config.serverPort = configuration.getCentralPort(); config.storePath = configuration.getCentralStore(); final MqServer server = new MqServer(config); server.start(); } else { proxyService.start(); } } @Autowired public void setConfiguration(ArbiterServerConfiguration configuration) { this.configuration = configuration; } @Autowired public void setProxyService(ProxyService proxyService) { this.proxyService = proxyService; } }