lizw 3 سال پیش
والد
کامیت
cef152ea05

+ 1 - 0
settings.gradle

@@ -1,3 +1,4 @@
 rootProject.name = 'yxt-api-gateway'
 include 'gateway-server'
+include 'soap-gateway'
 

+ 13 - 0
soap-gateway/build.gradle

@@ -0,0 +1,13 @@
+apply plugin: 'org.springframework.boot'
+
+dependencies {
+    api 'org.springframework.boot:spring-boot-starter'
+    api 'org.apache.commons:commons-lang3'
+    api 'commons-io:commons-io'
+}
+
+bootJar {
+    enabled = true
+}
+
+

+ 26 - 0
soap-gateway/src/main/java/com/galaxis/soap/StartSoap.java

@@ -0,0 +1,26 @@
+package com.galaxis.soap;
+
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ApplicationContext;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+@SpringBootApplication
+@Slf4j
+public class StartSoap {
+    private static final AtomicBoolean running = new AtomicBoolean(true);
+
+    @SneakyThrows
+    public static void main(String[] args) {
+        ApplicationContext ctx = SpringApplication.run(StartSoap.class, args);
+        log.info("### 服务启动完成 === " + ctx);
+        Runtime.getRuntime().addShutdownHook(new Thread(() -> running.set(false)));
+        while (running.get()) {
+            Thread.yield();
+        }
+        log.info("停止服务");
+    }
+}

+ 16 - 0
soap-gateway/src/main/resources/application.yml

@@ -0,0 +1,16 @@
+###################################################################################
+### logging(logback)
+###################################################################################
+logging:
+  config: classpath:logback.xml
+  level:
+    org.springframework: info
+    com.galaxis: debug
+
+###################################################################################
+### Spring配置
+###################################################################################
+spring:
+  application.name: soap-gateway
+  profiles.active: dev
+

+ 54 - 0
soap-gateway/src/main/resources/logback.xml

@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="false" scanPeriod="60 seconds" debug="false">
+    <!-- 应用名称 -->
+    <property name="APP_NAME" value="soap-gateway"/>
+    <!--日志文件的保存路径,首先查找系统属性-Dlog.dir,如果存在就使用其;否则,在当前目录下创建名为logs目录做日志存放的目录 -->
+    <property name="LOG_HOME" value="./logs/${APP_NAME}"/>
+    <!-- 日志输出格式 -->
+    <property name="ENCODER_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n"/>
+    <property name="ENCODER_PATTERN_CONSOLE" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n"/>
+    <!--<property name="ENCODER_PATTERN_CONSOLE" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{80}) - %msg%n"/>-->
+    <contextName>${APP_NAME}</contextName>
+
+    <!-- 控制台日志:输出全部日志到控制台 -->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <Pattern>${ENCODER_PATTERN_CONSOLE}</Pattern>
+        </encoder>
+    </appender>
+
+    <!-- 文件日志:输出全部日志到文件 -->
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_HOME}/${APP_NAME}.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_HOME}/${APP_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <maxHistory>30</maxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>${ENCODER_PATTERN}</pattern>
+        </encoder>
+    </appender>
+
+    <!-- 错误日志:用于将错误日志输出到独立文件 -->
+    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_HOME}/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <maxHistory>30</maxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>${ENCODER_PATTERN}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>ERROR</level>
+        </filter>
+    </appender>
+
+    <root level="INFO">
+        <appender-ref ref="STDOUT"/>
+        <!--
+        <appender-ref ref="FILE"/>
+        <appender-ref ref="ERROR_FILE"/>
+        -->
+    </root>
+</configuration>