123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package com.its.op;
- import com.its.op.config.*;
- import com.its.op.entity.its.unit.TbUnitSyst;
- import com.its.op.global.TbUnitSystManager;
- import com.its.op.scheduler.job.DbmsSttsJobThread;
- import com.its.op.xnetudp.CenterCommUdpServer;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.DisposableBean;
- import org.springframework.beans.factory.InitializingBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.Banner;
- 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.context.ApplicationPidFileWriter;
- import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
- import org.springframework.context.ApplicationListener;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.EnableAspectJAutoProxy;
- import org.springframework.context.event.ContextClosedEvent;
- import org.springframework.scheduling.annotation.EnableAsync;
- import org.springframework.web.bind.annotation.CrossOrigin;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- @Slf4j
- //@EnableJpaAuditing // JPA Auditing 활성화
- @EnableAspectJAutoProxy
- @EnableAsync
- @Configuration
- @SpringBootApplication
- /*@ComponentScan(basePackages = {
- "com.its.op.config",
- "com.its.op.dao.repository.its",
- "com.its.op.dao.repository.bis",
- "com.its.op.dao.repository.utis",
- "com.its.op.controller.*"
- })*/
- //@ComponentScan("com.its")
- //@MapperScan({"com.its.op.dao.mapper.its", "com.its.op.dao.mapper.bis", "com.its.op.dao.mapper.utis"})
- @CrossOrigin("*")
- public class ItsOpServerApplication extends SpringBootServletInitializer implements CommandLineRunner, ApplicationListener<ContextClosedEvent>, InitializingBean, DisposableBean {
- private static final String applicationName = "its-op-server";
- @Autowired
- public ItsOpServerApplication() {
- super();
- setRegisterErrorPageFilter(false);
- }
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
- return builder.sources(ItsOpServerApplication.class);
- }
- public static void main(String[] args) {
- SpringApplication application = new SpringApplicationBuilder()
- .sources(ItsOpServerApplication.class)
- .listeners(new ApplicationPidFileWriter("./conf/" + applicationName + ".pid"))
- .build();
- application.setBannerMode(Banner.Mode.OFF);
- application.run(args);
- }
- @Override
- public void run(String... args) {
- ApplicationConfig applicationConfig = (ApplicationConfig) AppUtils.getBean(ApplicationConfig.class);
- log.info("");
- log.info("");
- log.info("************************************************************************************");
- log.info("** **");
- log.info("** Intelligent Traffic System **");
- log.info("** Intelligent Traffic System Common Operating Server. **");
- log.info("** **");
- log.info("** [ver.1.0] **");
- log.info("** process: {}", applicationConfig.getId());
- log.info("** startup: {}", applicationConfig.getBootingDateTime());
- log.info("************************************************************************************");
- CenterCommUdpServer centerCommUdpServer = (CenterCommUdpServer)AppUtils.getBean(CenterCommUdpServer.class);
- centerCommUdpServer.run();
- // VdsCommClientService vdsCommClientService = (VdsCommClientService)AppUtils.getBean(VdsCommClientService.class);
- // vdsCommClientService.run();
- VmsServerConfig vmsServerConfig = (VmsServerConfig)AppUtils.getBean(VmsServerConfig.class);
- TbUnitSystManager unitSystManager = (TbUnitSystManager)AppUtils.getBean(TbUnitSystManager.class);
- TbUnitSyst vmsServer = unitSystManager.get(vmsServerConfig.getProcessId());
- if (vmsServer != null) {
- vmsServerConfig.setIpAddress(vmsServer.getSystIp1().trim());
- vmsServerConfig.setPort(Integer.parseInt(vmsServer.getPrgmPort().trim()));
- }
- VdsServerConfig vdsServerConfig = (VdsServerConfig)AppUtils.getBean(VdsServerConfig.class);
- TbUnitSyst vdsServer = unitSystManager.get(vdsServerConfig.getProcessId());
- if (vdsServer != null) {
- vdsServerConfig.setIpAddress(vdsServer.getSystIp1().trim());
- vdsServerConfig.setPort(Integer.parseInt(vdsServer.getPrgmPort().trim()));
- }
- RseServerConfig rseServerConfig = (RseServerConfig)AppUtils.getBean(RseServerConfig.class);
- TbUnitSyst rseServer = unitSystManager.get(rseServerConfig.getProcessId());
- if (rseServer != null) {
- rseServerConfig.setIpAddress(rseServer.getSystIp1().trim());
- rseServerConfig.setPort(Integer.parseInt(rseServer.getPrgmPort().trim()));
- }
- CctvServerConfig cctvServerConfig = (CctvServerConfig)AppUtils.getBean(CctvServerConfig.class);
- TbUnitSyst cctvServer = unitSystManager.get(cctvServerConfig.getProcessId());
- if (cctvServer != null) {
- cctvServerConfig.setIpAddress(cctvServer.getSystIp1().trim());
- cctvServerConfig.setPort(Integer.parseInt(cctvServer.getPrgmPort().trim()));
- }
- DbmsSttsJobThread dbmsSttsJobThread = (DbmsSttsJobThread)AppUtils.getBean(DbmsSttsJobThread.class);
- dbmsSttsJobThread.run();
- applicationConfig.setStartSchedule(true);
- // Thread daemonThread = new Thread(new DaemonThread());
- // daemonThread.setDaemon(true);
- // daemonThread.start();
- }
- @Override
- public void onApplicationEvent(ContextClosedEvent contextClosedEvent) {
- // shutdown.....
- SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- log.error("Application Terminated: {}, {}", sdfDate.format(new Date()), contextClosedEvent.toString());
- }
- @Override
- public void destroy() {
- }
- @Override
- public void afterPropertiesSet() {
- }
- }
|