Selaa lähdekoodia

配置业务日志和Tomcat日志输出

huxz 8 vuotta sitten
vanhempi
commit
e6055c0216

+ 2 - 0
.gitignore

@@ -17,6 +17,7 @@ out/
 
 # Log file
 *.log
+logs/
 
 # BlueJ files
 *.ctxt
@@ -50,6 +51,7 @@ buildNumber.properties
 # --------------------
 # Gradle
 build/
+repo/
 
 # Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
 !/.mvn/wrapper/maven-wrapper.jar

+ 67 - 0
gradle/persist-publish.gradle

@@ -0,0 +1,67 @@
+ext {
+    artifactoryBaseUrl = 'http://113.105.74.141:8081/artifactory'
+    artifactorySnapshotRepoUrl = "$artifactoryBaseUrl/libs-snapshot-local"
+    artifactoryReleaseRepoUrl = "$artifactoryBaseUrl/libs-release-local"
+}
+
+apply plugin: 'maven-publish'
+
+task sourcesJar(type: Jar) {
+    baseName "${project.name}"
+    classifier 'sources'
+    from sourceSets.main.allSource
+}
+
+task persistJar(type: Jar) {
+    baseName "sso-persist"
+    from sourceSets.main.output
+    exclude "spring", "config"
+    include "**/entity/**", "**/dao/**"
+}
+
+task persistSourcesJar(type: Jar) {
+    baseName "sso-persist"
+    classifier 'sources'
+    from sourceSets.main.allSource
+    exclude "spring", "config"
+    include "**/entity/**", "**/dao/**"
+}
+
+publishing {
+    publications {
+        plugin(MavenPublication) {
+            groupId "${project.group}"
+            artifactId "${project.name}"
+            version "${project.version}"
+
+            from components.java
+            artifact sourcesJar
+        }
+
+        persist(MavenPublication) {
+            groupId "${project.group}"
+            artifactId 'sso-persist'
+            version "${project.version}"
+
+            artifact persistJar
+            artifact persistSourcesJar
+        }
+    }
+
+    repositories {
+        maven {
+            name 'myLocal'
+            url "file://$projectDir/repo"
+        }
+
+        maven {
+            name 'remoteArtifactory'
+            url project.version.endsWith('-SNAPSHOT') ? artifactorySnapshotRepoUrl : artifactoryReleaseRepoUrl
+
+            credentials {
+                username = 'yingp'
+                password = '111111'
+            }
+        }
+    }
+}

+ 1 - 1
gradle/publish.gradle

@@ -15,11 +15,11 @@ task sourcesJar(type: Jar) {
 publishing {
     publications {
         plugin(MavenPublication) {
-            from components.java
             groupId "${project.group}"
             artifactId "${project.name}"
             version "${project.version}"
 
+            from components.java
             artifact sourcesJar
         }
     }

+ 2 - 2
pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>1.4.1.RELEASE</version>
+        <version>1.5.9.RELEASE</version>
     </parent>
     <groupId>com.uas.sso</groupId>
     <artifactId>sso-parent</artifactId>
@@ -23,7 +23,7 @@
         <maven.compiler.target>1.7</maven.compiler.target>
         <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
         <fastjson.version>1.2.15</fastjson.version>
-        <druid.version>1.0.24</druid.version>
+        <druid.version>1.1.6</druid.version>
         <mysql.jdbc.version>5.1.41</mysql.jdbc.version>
         <message.version>0.0.1</message.version>
         <dubbo.version>2.8.4</dubbo.version>

+ 9 - 12
sso-manage-console/build.gradle

@@ -1,21 +1,18 @@
 plugins {
+	id "eclipse"
 	id "org.springframework.boot" version "1.4.7.RELEASE"
 }
 
-apply plugin: 'java'
-apply plugin: 'eclipse'
-apply plugin: 'org.springframework.boot'
-
-group = 'com.uas.sso'
-version = '0.0.1-SNAPSHOT'
-sourceCompatibility = 1.8
+dependencies {
+    // Custom Libraries
+    compile("com.uas.sso:sso-persist:0.0.1-SNAPSHOT")
 
-repositories {
-	mavenCentral()
-}
+	compile("org.springframework.boot:spring-boot-starter-web")
+    compile("org.springframework.boot:spring-boot-starter-data-jpa")
+    compile("org.springframework.boot:spring-boot-starter-actuator")
 
+    compile("mysql:mysql-connector-java:5.1.41")
+    compile("com.alibaba:druid:1.1.6")
 
-dependencies {
-	compile('org.springframework.boot:spring-boot-starter-web')
 	testCompile('org.springframework.boot:spring-boot-starter-test')
 }

+ 4 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/ManageConsoleApplication.java

@@ -2,6 +2,8 @@ package com.uas.sso.sso.backend;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 
 /**
  * Application entry for SSO management console.
@@ -9,6 +11,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
  * @author huxz
  */
 @SpringBootApplication
+@EntityScan(basePackages = {"com.uas.sso.entity"})
+@EnableJpaRepositories(basePackages = {"com.uas.sso.dao"})
 public class ManageConsoleApplication {
 
     public static void main(String[] args) {

+ 14 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/UserService.java

@@ -0,0 +1,14 @@
+package com.uas.sso.sso.backend.service;
+
+import com.uas.sso.entity.User;
+import java.util.List;
+
+/**
+ * Abstract class for operations of user when admin operates.
+ *
+ * @author huxz
+ */
+public interface UserService {
+
+    List<User> showAllUsers();
+}

+ 28 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/api/UserController.java

@@ -0,0 +1,28 @@
+package com.uas.sso.sso.backend.service.api;
+
+import com.uas.sso.entity.User;
+import com.uas.sso.sso.backend.service.UserService;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(path = "/api/v1/user")
+public class UserController {
+
+    private final UserService userService;
+
+    @Autowired
+    public UserController(UserService userService) {
+        this.userService = userService;
+    }
+
+    @RequestMapping(method = RequestMethod.GET, path = "//showAllUser",
+            produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public List<User> showAllUsers() {
+        return userService.showAllUsers();
+    }
+}

+ 36 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/impl/UserServiceImpl.java

@@ -0,0 +1,36 @@
+package com.uas.sso.sso.backend.service.impl;
+
+import com.uas.sso.dao.UserDao;
+import com.uas.sso.entity.User;
+import com.uas.sso.sso.backend.service.UserService;
+import java.util.Collections;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+/**
+ * An implementations of {@code UserService}.
+ *
+ * @author huxz
+ */
+@Service
+public class UserServiceImpl implements UserService {
+
+    private final UserDao userDao;
+
+    @Autowired
+    public UserServiceImpl(UserDao userDao) {
+        this.userDao = userDao;
+    }
+
+    @Override
+    public List<User> showAllUsers() {
+        List<User> all = userDao.findAll();
+
+        if (CollectionUtils.isEmpty(all)) {
+            all = Collections.emptyList();
+        }
+        return all;
+    }
+}

+ 0 - 0
sso-manage-console/src/main/resources/application-dev.yml


+ 15 - 0
sso-manage-console/src/main/resources/application.yml

@@ -1,8 +1,23 @@
 server:
   port: 8090
+  tomcat:
+    # Print tomcat access logs.
+    basedir: logs/tomcat
+    accesslog:
+      enabled: true
+      pattern: '%t %a "%r" %s (%D ms)'
 
 spring:
   main:
     banner-mode: "off"
   profiles:
     active: dev
+  jpa:
+    database: mysql
+    show-sql: false
+    hibernate:
+      ddl-auto: "update"
+
+# Write logs to current dictionary where jar is.
+logging:
+  path: logs

+ 21 - 0
sso-manage-console/src/main/resources/config/application-dev.properties

@@ -0,0 +1,21 @@
+app.datasource.url=jdbc:mysql://192.168.253.12:3306/sso?characterEncoding=utf-8&useSSL=false
+app.datasource.username=root
+app.datasource.password=select111***
+app.datasource.driverClassName=com.mysql.jdbc.Driver
+app.datasource.initialSize=1
+app.datasource.minIdle=1
+app.datasource.maxActive=20
+app.datasource.maxWait=60000
+app.datasource.timeBetweenEvictionRunsMillis=60000
+app.datasource.minEvictableIdleTimeMillis=300000
+app.datasource.validationQuery=SELECT 1 FROM DUAL
+app.datasource.testWhileIdle=true
+app.datasource.testOnBorrow=true
+app.datasource.testOnReturn=false
+app.datasource.poolPreparedStatements=true
+app.datasource.timeBetweenLogStatsMillis=60000
+app.datasource.maxPoolPreparedStatementPerConnectionSize=20
+app.datasource.filters=stat,slf4j
+app.datasource.connectionProperties=druid.stat.mergeSql=false;druid.stat.slowSqlMillis=5000
+
+management.security.enabled=false

+ 1 - 8
sso-server/build.gradle

@@ -1,11 +1,8 @@
 plugins {
-    id "java"
     id "org.springframework.boot" version '1.5.9.RELEASE'
 }
 
-group = 'com.uas.sso'
-version = '0.0.1-SNAPSHOT'
-sourceCompatibility = 1.8
+apply from: "$rootDir/gradle/persist-publish.gradle"
 
 configurations {
     all*.exclude group: 'org.slf4j', module: 'slf4j-log4j12'
@@ -41,7 +38,3 @@ dependencies {
 
     testCompile("org.springframework.boot:spring-boot-starter-test")
 }
-
-bootRun {
-    addResources true
-}

+ 8 - 2
sso-server/pom.xml

@@ -42,7 +42,7 @@
 		<!-- Redis session -->
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-redis</artifactId>
+			<artifactId>spring-boot-starter-data-redis</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.session</groupId>
@@ -74,7 +74,13 @@
 			<groupId>com.uas.account</groupId>
 			<artifactId>sso-core</artifactId>
 			<version>0.0.1</version>
-		</dependency>
+      <exclusions>
+        <exclusion>
+          <artifactId>sso-core</artifactId>
+          <groupId>com.uas.account</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
 		<dependency>
 			<groupId>com.uas.sso</groupId>
 			<artifactId>sso-common</artifactId>