no message
parent
f9bcbf1c8f
commit
f9f03e3716
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.7.18</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
|
||||
<groupId>cokr.xit.interfaces</groupId>
|
||||
<artifactId>xit-mms-war</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<name>xit-mms-war</name>
|
||||
<description>모바일 메시지 발송 요청 처리 웹서버</description>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<java.version>17</java.version>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>maven-public</id>
|
||||
<url>https://nas.xit.co.kr:8888/repository/maven-public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>maven-public</id>
|
||||
<url>https://nas.xit.co.kr:8888/repository/maven-public/</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>cokr.xit.interfaces</groupId>
|
||||
<artifactId>xit-mms</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cokr.xit.boot</groupId>
|
||||
<artifactId>xit-foundation-starter</artifactId>
|
||||
<version>23.04.01-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@ -0,0 +1,24 @@
|
||||
package cokr.xit.main;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
|
||||
import cokr.xit.foundation.boot.DatasourceConfig;
|
||||
import cokr.xit.foundation.boot.FoundationApplication;
|
||||
|
||||
|
||||
@ImportAutoConfiguration({
|
||||
MmsDatabaseConfig.class
|
||||
})
|
||||
@ComponentScan(
|
||||
excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,classes = {DatasourceConfig.class})
|
||||
)
|
||||
public class MainApplication extends FoundationApplication {
|
||||
public static void main(String[] args) {
|
||||
|
||||
SpringApplication.run(MainApplication.class, args);
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package cokr.xit.main;
|
||||
|
||||
import cokr.xit.foundation.boot.DatasourceConfig;
|
||||
|
||||
public class MmsDatabaseConfig extends DatasourceConfig {
|
||||
|
||||
@Override
|
||||
protected String[] mapperLocationPatterns() {
|
||||
return new String[] {
|
||||
"classpath*:sql/mapper-jar-applib/base/utility.xml",
|
||||
"classpath*:sql/mapper/interfaces/message-mapper.xml"
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package cokr.xit.main.web;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import cokr.xit.interfaces.message.MessageQuery;
|
||||
import cokr.xit.interfaces.message.web.MessageController;
|
||||
|
||||
@Controller
|
||||
@RequestMapping(name="문자전송 관리", value="/messageapi")
|
||||
public class MainController extends MessageController {
|
||||
|
||||
@Override
|
||||
@RequestMapping(name="문자전송 목록", value="/list.do")
|
||||
public ModelAndView list(MessageQuery messageQuery) {
|
||||
|
||||
if(isEmpty(messageQuery.getSchInputYmdTo())) {
|
||||
if(isEmpty(messageQuery.getSchInputYmdFrom())) {
|
||||
|
||||
SimpleDateFormat yyyyMMddFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
Date curDate = new Date();
|
||||
String strCurrentDate = yyyyMMddFormat.format(curDate);
|
||||
|
||||
messageQuery.setSchInputYmdFrom(strCurrentDate);
|
||||
messageQuery.setSchInputYmdTo(strCurrentDate);
|
||||
} else {
|
||||
messageQuery.setSchInputYmdTo(messageQuery.getSchInputYmdFrom());
|
||||
}
|
||||
} else if(isEmpty(messageQuery.getSchInputYmdFrom())) {
|
||||
messageQuery.setSchInputYmdFrom(messageQuery.getSchInputYmdTo());
|
||||
}
|
||||
|
||||
return super.list(messageQuery);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
server:
|
||||
shutdown: graceful
|
||||
port: 9073
|
||||
servlet:
|
||||
context-path: /
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: xitmmswar
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
sql:
|
||||
init:
|
||||
platform: mariadb
|
||||
datasource:
|
||||
hikari:
|
||||
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
jdbc-url: jdbc:log4jdbc:mariadb://211.119.124.9:4407/efccsscs?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false
|
||||
username: rentcar
|
||||
password: xit1!
|
||||
auto-commit: false
|
||||
maximumPoolSize: 3
|
||||
mvc:
|
||||
static-path-pattern: /resources/**,/webjars/**,/files/**
|
||||
web:
|
||||
resources:
|
||||
static-locations: /resources/,classpath*:/META-INF/resources/webjars/,file:files/
|
||||
|
||||
messageSource:
|
||||
basenames:
|
||||
- classpath:message/message-common
|
||||
- classpath:message/authentication-message
|
||||
- classpath:org/egovframe/rte/fdl/property/messages/properties
|
||||
|
||||
propertyService:
|
||||
properties:
|
||||
- tempDir: C:\temp
|
||||
- pageUnit: 10
|
||||
- pageSize: 10
|
||||
- permitAccess: /intf/**/*
|
||||
extFileName:
|
||||
- encoding: UTF-8
|
||||
filename: classpath*:intf-conf/xit-lvis.properties
|
||||
@ -0,0 +1,4 @@
|
||||
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
|
||||
|
||||
log4jdbc.dump.sql.maxlinelength=0
|
||||
log4jdbc.drivers=org.mariadb.jdbc.Driver
|
||||
@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 60초마다 설정 파일의 변경을 확인 하여 변경시 갱신 -->
|
||||
<configuration scan="true" scanPeriod="60 seconds">
|
||||
<springProperty scope="context" name="applicationName" source="spring.application.name"/>
|
||||
<property name="LOG_PATH" value="logs"/>
|
||||
<property name="LOG_FILE_NAME" value="${applicationName}"/>
|
||||
<property name="ERR_LOG_FILE_NAME" value="${LOG_FILE_NAME}-error"/>
|
||||
<property name="LOG_PATTERN" value="%d{HH:mm:ss.SSS} %-5level [%logger{0}:%line] - %msg%n"/>
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
|
||||
<maxHistory>30</maxHistory><!-- 로그파일 보관주기(일)-->
|
||||
<!--<MinIndex>1</MinIndex>
|
||||
<MaxIndex>10</MaxIndex>-->
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<appender name="Error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>error</level>
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
|
||||
<file>${LOG_PATH}/${ERR_LOG_FILE_NAME}.log</file>
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
|
||||
<fileNamePattern>${LOG_PATH}/${ERR_LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
|
||||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<!-- 파일당 최고 용량 kb, mb, gb -->
|
||||
<maxFileSize>10MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거-->
|
||||
<maxHistory>60</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</root>
|
||||
|
||||
<logger name="jdbc" level="OFF"/>
|
||||
<logger name="org.apache.commons" level="OFF" additivity="false"/>
|
||||
<logger name="org.mariadb" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.connection" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.sqlonly" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.resultset" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.resultsettable" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.audit" level="OFF" additivity="false"/>
|
||||
<logger name="com.zaxxer" level="OFF" additivity="false"/>
|
||||
<logger name="jdbc.sqltiming" level="DEBUG" />
|
||||
<logger name="org.quartz" level="Error" additivity="false"/>
|
||||
|
||||
<!-- 특정패키지 로깅레벨 설정 -->
|
||||
<logger name="cokr.xit" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="Error"/>
|
||||
</logger>
|
||||
|
||||
</configuration>
|
||||
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
<configuration>
|
||||
|
||||
<settings>
|
||||
<setting name="mapUnderscoreToCamelCase" value="false"/>
|
||||
<setting name="cacheEnabled" value="false" />
|
||||
<setting name="jdbcTypeForNull" value="NULL" />
|
||||
<setting name="callSettersOnNulls" value="true"/>
|
||||
</settings>
|
||||
|
||||
<typeAliases>
|
||||
<typeAlias alias="egovMap" type="org.egovframe.rte.psl.dataaccess.util.EgovMap"/>
|
||||
<typeAlias alias="dataobject" type="cokr.xit.foundation.data.DataObject"/>
|
||||
</typeAliases>
|
||||
|
||||
<typeHandlers>
|
||||
<typeHandler handler="cokr.xit.foundation.data.RowValueHandler" javaType="java.lang.Object"/>
|
||||
</typeHandlers>
|
||||
|
||||
</configuration>
|
||||
Loading…
Reference in New Issue