/** * Copyright (c) 2013-Now http://jeesite.com All rights reserved. * No deletion without permission, or be held responsible to law. */ package com.jeesite.modules; import java.net.ServerSocket; import com.alibaba.fastjson.parser.ParserConfig; import com.jeesite.modules.utils.LdNettyServer; 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.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.core.env.Environment; import com.jeesite.modules.config.BaseConfig; import com.jeesite.modules.utils.NettyServer; /** * Application * @author ThinkGem * @version 2018-10-13 */ @SpringBootApplication public class Application extends SpringBootServletInitializer implements CommandLineRunner { public static ServerSocket serverSocket = null; @Autowired private static Environment environment; public static void main(String[] args) { ParserConfig.getGlobalInstance().setSafeMode(true); // fastjson 开启安全模式 SpringApplication.run(Application.class, args); initDatabaseConnection(); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { this.setRegisterErrorPageFilter(false); // 错误页面有容器来处理,而不是SpringBoot return builder.sources(Application.class); } //启动端口号3000 tcp服务端 @Override public void run(String... args) throws Exception { // TODO Auto-generated method stub new Thread(() -> { try { new NettyServer(3000).run(); }catch(Exception e) { e.printStackTrace(); } }).start(); // new Thread(() -> { // try { // new LdNettyServer(7890).run(); // }catch(Exception e) { // e.printStackTrace(); // } // }).start(); } public static void initDatabaseConnection() { System.out.println(BaseConfig.url); } }