Merge remote-tracking branch 'origin/jenkins_with_weblogic'
# Conflicts: # build.gradle
This commit is contained in:
+32
-35
@@ -1,13 +1,12 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'org.springframework.boot' version '2.7.17'
|
id 'org.springframework.boot' version '2.7.17'
|
||||||
id 'io.spring.dependency-management' version '1.1.3'
|
id 'io.spring.dependency-management' version '1.1.3'
|
||||||
|
id 'com.diffplug.eclipse.apt' version '3.41.1'
|
||||||
id 'java'
|
id 'java'
|
||||||
id 'java-library'
|
id 'java-library'
|
||||||
id 'eclipse-wtp'
|
id 'eclipse-wtp'
|
||||||
id 'idea'
|
id 'idea'
|
||||||
id 'war'
|
id 'war'
|
||||||
id 'com.diffplug.eclipse.apt' version '3.41.1'
|
|
||||||
// id "org.sonarqube" version "4.2.1.3168"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bootJar.enabled = true
|
bootJar.enabled = true
|
||||||
@@ -18,6 +17,7 @@ version = '2.0.0'
|
|||||||
sourceCompatibility = "1.8"
|
sourceCompatibility = "1.8"
|
||||||
targetCompatibility = "1.8"
|
targetCompatibility = "1.8"
|
||||||
|
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
annotationProcessor
|
annotationProcessor
|
||||||
configureEach {
|
configureEach {
|
||||||
@@ -30,7 +30,6 @@ compileJava {
|
|||||||
options.encoding = 'UTF-8'
|
options.encoding = 'UTF-8'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
war {
|
war {
|
||||||
archiveFileName = "elink-test-master.war"
|
archiveFileName = "elink-test-master.war"
|
||||||
exclude '**/persistence.xml'
|
exclude '**/persistence.xml'
|
||||||
@@ -43,7 +42,7 @@ dependencies {
|
|||||||
implementation 'org.mapstruct:mapstruct:1.5.5.Final'
|
implementation 'org.mapstruct:mapstruct:1.5.5.Final'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
||||||
implementation 'org.springframework.data:spring-data-envers'
|
implementation 'org.springframework.data:spring-data-envers'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-security'
|
implementation 'org.springframework.boot:spring-boot-starter-security'
|
||||||
@@ -54,6 +53,16 @@ dependencies {
|
|||||||
implementation 'com.navercorp.lucy:lucy-xss-servlet:2.0.1'
|
implementation 'com.navercorp.lucy:lucy-xss-servlet:2.0.1'
|
||||||
implementation group: 'com.lmax', name: 'disruptor', version: '3.4.4'
|
implementation group: 'com.lmax', name: 'disruptor', version: '3.4.4'
|
||||||
|
|
||||||
|
if (project.hasProperty("profile") && project.property("profile") == "weblogic") {
|
||||||
|
// WebLogic 배포 시에는 톰캣을 WAR에 넣지 않음
|
||||||
|
implementation('org.springframework.boot:spring-boot-starter-web') {
|
||||||
|
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
|
||||||
|
}
|
||||||
|
providedCompile "javax:javaee-api:8.0"
|
||||||
|
} else {
|
||||||
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||||
|
}
|
||||||
|
|
||||||
// implementation 'io.springfox:springfox-boot-starter:3.0.0'
|
// implementation 'io.springfox:springfox-boot-starter:3.0.0'
|
||||||
implementation 'org.apache.httpcomponents:httpclient:4.5.14'
|
implementation 'org.apache.httpcomponents:httpclient:4.5.14'
|
||||||
implementation 'com.hazelcast:hazelcast:4.2.8'
|
implementation 'com.hazelcast:hazelcast:4.2.8'
|
||||||
@@ -77,10 +86,12 @@ dependencies {
|
|||||||
implementation 'org.mdkt.compiler:InMemoryJavaCompiler:1.3.0'
|
implementation 'org.mdkt.compiler:InMemoryJavaCompiler:1.3.0'
|
||||||
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
||||||
|
|
||||||
|
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
|
||||||
// Weblogic 14.1.2(Java17) 대응 관련
|
// Weblogic 14.1.2(Java17) 대응 관련
|
||||||
// Nashorn(JavaScript 엔진, Java15이상 JRE System Library에서 제외됨) 대응, 대체용 검토필요.
|
// Nashorn(JavaScript 엔진, Java15이상 JRE System Library에서 제외됨) 대응, 대체용 검토필요.
|
||||||
implementation 'org.graalvm.js:js:25.0.0'
|
// implementation 'org.graalvm.js:js:25.0.0'
|
||||||
implementation 'org.graalvm.js:js-scriptengine:25.0.0'
|
// implementation 'org.graalvm.js:js-scriptengine:25.0.0'
|
||||||
|
implementation "org.openjdk.nashorn:nashorn-core:15.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
bootJar {
|
bootJar {
|
||||||
@@ -91,31 +102,17 @@ test {
|
|||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
}
|
}
|
||||||
|
|
||||||
//eclipse {
|
war {
|
||||||
// wtp {
|
|
||||||
// component {
|
// Set the name of the WAR file (optional)
|
||||||
// contextPath = '/'
|
archiveFileName = "elink-test-master.war"
|
||||||
// }
|
|
||||||
// }
|
// from('src/main/resources/jeus-web-dd.xml') { into 'WEB-INF' }
|
||||||
// synchronizationTasks settingEclipseEncoding, initDirs
|
from('src/main/resources/weblogic.xml') { into 'WEB-INF' }
|
||||||
//
|
|
||||||
// jdt {
|
}
|
||||||
// apt {
|
|
||||||
// // generated 된 패스 경로를 .setting/org.eclipse.jdt.apt.core.prefs 의 org.eclipse.jdt.apt.genSrcDir에 적용한다.
|
bootWar {
|
||||||
// // project > properties > Java Compiler > Annoation Processing 화면에서 확인 가능하다.
|
archiveFileName = "elink-test-master.war"
|
||||||
// genSrcDir = file(generatedJavaDir)
|
from('src/main/resources/weblogic.xml') { into 'WEB-INF' }
|
||||||
// }
|
}
|
||||||
// }
|
|
||||||
//
|
|
||||||
// project {
|
|
||||||
// natures = ['org.eclipse.buildship.core.gradleprojectnature',
|
|
||||||
// 'org.eclipse.jdt.core.javanature',
|
|
||||||
// 'org.eclipse.wst.common.project.facet.core.nature',
|
|
||||||
// 'org.eclipse.wst.common.modulecore.ModuleCoreNature',
|
|
||||||
// 'org.eclipse.jem.workbench.JavaEMFNature']
|
|
||||||
// buildCommand 'org.eclipse.buildship.core.gradleprojectbuilder'
|
|
||||||
// buildCommand 'org.eclipse.wst.validation.validationbuilder'
|
|
||||||
// buildCommand 'org.eclipse.wst.common.project.facet.core.builder'
|
|
||||||
// buildCommand 'org.eclipse.jdt.core.javabuilder'
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
@@ -3,13 +3,19 @@ package com.eactive.testmaster;
|
|||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration;
|
import org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration;
|
||||||
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
|
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||||
import org.springframework.context.annotation.ComponentScan;
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
|
|
||||||
@SpringBootApplication(exclude = {
|
@SpringBootApplication(exclude = {
|
||||||
UserDetailsServiceAutoConfiguration.class,
|
UserDetailsServiceAutoConfiguration.class,
|
||||||
})
|
})
|
||||||
@ComponentScan("com.eactive")
|
@ComponentScan("com.eactive")
|
||||||
public class ElinkTestMaster {
|
public class ElinkTestMaster extends SpringBootServletInitializer {
|
||||||
|
@Override
|
||||||
|
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||||
|
return application.sources(ElinkTestMaster.class);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(ElinkTestMaster.class, args);
|
SpringApplication.run(ElinkTestMaster.class, args);
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactor
|
|||||||
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
|
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Profile;
|
||||||
|
|
||||||
|
@Profile("!weblogic")
|
||||||
@Configuration
|
@Configuration
|
||||||
public class ServletConfig {
|
public class ServletConfig {
|
||||||
|
|
||||||
|
|||||||
@@ -7,24 +7,20 @@ import com.eactive.testmaster.client.dto.ApiResponse;
|
|||||||
import com.eactive.testmaster.client.dto.internal.ScenarioNode;
|
import com.eactive.testmaster.client.dto.internal.ScenarioNode;
|
||||||
import com.eactive.testmaster.client.service.ApiClientFactory;
|
import com.eactive.testmaster.client.service.ApiClientFactory;
|
||||||
import com.eactive.testmaster.loadtest.dto.LoadTestRequestAndResponse;
|
import com.eactive.testmaster.loadtest.dto.LoadTestRequestAndResponse;
|
||||||
import java.util.ArrayList;
|
import org.apache.commons.lang3.SerializationUtils;
|
||||||
import java.util.HashMap;
|
import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;
|
||||||
import java.util.HashSet;
|
import org.slf4j.Logger;
|
||||||
import java.util.List;
|
import org.slf4j.LoggerFactory;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import java.util.concurrent.CountDownLatch;
|
|
||||||
import java.util.concurrent.ExecutionException;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
import javax.script.Bindings;
|
import javax.script.Bindings;
|
||||||
import javax.script.ScriptEngine;
|
import javax.script.ScriptEngine;
|
||||||
import javax.script.ScriptException;
|
import javax.script.ScriptException;
|
||||||
import javax.script.SimpleBindings;
|
import javax.script.SimpleBindings;
|
||||||
import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
|
import java.util.*;
|
||||||
import org.apache.commons.lang3.SerializationUtils;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import org.slf4j.Logger;
|
import java.util.concurrent.CountDownLatch;
|
||||||
import org.slf4j.LoggerFactory;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class VirtualUser implements Runnable {
|
public class VirtualUser implements Runnable {
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
logging:
|
||||||
|
level:
|
||||||
|
root: info
|
||||||
|
web: debug
|
||||||
|
com.eactive: debug
|
||||||
|
org:
|
||||||
|
springframework:
|
||||||
|
web:
|
||||||
|
socket: debug
|
||||||
|
|
||||||
|
server:
|
||||||
|
error.include-message: always
|
||||||
|
servlet:
|
||||||
|
session:
|
||||||
|
timeout: 180m
|
||||||
|
|
||||||
|
context-path: /
|
||||||
|
|
||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
url: jdbc:h2:file:./db/apidb
|
||||||
|
driverClassName: org.h2.Driver
|
||||||
|
username: sa
|
||||||
|
password:
|
||||||
|
hikari:
|
||||||
|
maximum-pool-size: 20
|
||||||
|
minimum-idle: 5
|
||||||
|
idle-timeout: 30000
|
||||||
|
max-lifetime: 60000
|
||||||
|
jpa:
|
||||||
|
hibernate:
|
||||||
|
ddl-auto: update
|
||||||
|
properties:
|
||||||
|
hibernate:
|
||||||
|
format_sql: true
|
||||||
|
show-sql: false
|
||||||
|
database-platform: org.hibernate.dialect.H2Dialect
|
||||||
|
thymeleaf:
|
||||||
|
prefix: classpath:/templates/
|
||||||
|
check-template-location: true
|
||||||
|
suffix: .html
|
||||||
|
mode: HTML
|
||||||
|
cache: false
|
||||||
|
order: 0
|
||||||
|
h2:
|
||||||
|
console:
|
||||||
|
enabled: true
|
||||||
|
path: /h2-console
|
||||||
|
settings:
|
||||||
|
web-allow-others: true
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<weblogic-web-app
|
||||||
|
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.6/weblogic-web-app.xsd">
|
||||||
|
|
||||||
|
<context-root>/</context-root>
|
||||||
|
|
||||||
|
<container-descriptor>
|
||||||
|
<prefer-application-packages>
|
||||||
|
<package-name>org.slf4j.*</package-name>
|
||||||
|
<package-name>ch.qos.logback.*</package-name>
|
||||||
|
<package-name>org.apache.log4j.*</package-name>
|
||||||
|
<package-name>org.apache.commons.logging.*</package-name>
|
||||||
|
</prefer-application-packages>
|
||||||
|
</container-descriptor>
|
||||||
|
|
||||||
|
|
||||||
|
<session-descriptor>
|
||||||
|
<timeout-secs>1800</timeout-secs>
|
||||||
|
<cookie-name>JSESSIONID_ONL</cookie-name>
|
||||||
|
<persistent-store-type>replicated_if_clustered</persistent-store-type>
|
||||||
|
</session-descriptor>
|
||||||
|
</weblogic-web-app>
|
||||||
Reference in New Issue
Block a user