main
HuangHai 2 months ago
parent c3835d4a5e
commit 33d08a49a7

@ -3,6 +3,7 @@
<component name="AdditionalModuleElements">
<content url="file://$MODULE_DIR$" dumb="true">
<sourceFolder url="file://$MODULE_DIR$/src/main/resource" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
</content>
</component>
</module>

@ -184,6 +184,12 @@
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.dsideal</groupId>
<artifactId>dsUtils</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

@ -1,23 +1,20 @@
package com.dsideal.gw.Config;
import com.dsideal.gw.GwApplication;
import com.jfinal.kit.Prop;
import com.dsideal.Config.PropKit;
public class GatewayConfig {
private static final Prop prop = GwApplication.PropKit;
// 超时配置
public static final int CONNECT_TIMEOUT = prop.getInt("gateway.timeout.connect", 10000);
public static final int READ_TIMEOUT = prop.getInt("gateway.timeout.read", 30000);
public static final int WRITE_TIMEOUT = prop.getInt("gateway.timeout.write", 30000);
public static final int CONNECT_TIMEOUT = PropKit.getInt("gateway.timeout.connect", 10000);
public static final int READ_TIMEOUT = PropKit.getInt("gateway.timeout.read", 30000);
public static final int WRITE_TIMEOUT = PropKit.getInt("gateway.timeout.write", 30000);
// 连接池配置
public static final int MAX_CONNECTIONS = prop.getInt("gateway.connection.max", 5);
public static final int KEEP_ALIVE_DURATION = prop.getInt("gateway.connection.keep-alive", 300);
public static final int MAX_CONNECTIONS = PropKit.getInt("gateway.connection.max", 5);
public static final int KEEP_ALIVE_DURATION = PropKit.getInt("gateway.connection.keep-alive", 300);
// 安全配置
public static final String[] ALLOWED_ORIGINS = prop.get("gateway.security.cors.allowed-origins", "*").split(",");
public static final String[] ALLOWED_METHODS = prop.get("gateway.security.cors.allowed-methods", "GET,POST,OPTIONS").split(",");
public static final String[] ALLOWED_HEADERS = prop.get("gateway.security.cors.allowed-headers", "Content-Type,Authorization,Cookie").split(",");
public static final boolean ALLOW_CREDENTIALS = prop.getBoolean("gateway.security.cors.allow-credentials", true);
public static final int MAX_AGE = prop.getInt("gateway.security.cors.max-age", 3600);}
public static final String[] ALLOWED_ORIGINS = PropKit.get("gateway.security.cors.allowed-origins", "*").split(",");
public static final String[] ALLOWED_METHODS = PropKit.get("gateway.security.cors.allowed-methods", "GET,POST,OPTIONS").split(",");
public static final String[] ALLOWED_HEADERS = PropKit.get("gateway.security.cors.allowed-headers", "Content-Type,Authorization,Cookie").split(",");
public static final boolean ALLOW_CREDENTIALS = PropKit.getBoolean("gateway.security.cors.allow-credentials", true);
public static final int MAX_AGE = PropKit.getInt("gateway.security.cors.max-age", 3600);}

@ -1,12 +1,11 @@
package com.dsideal.gw;
import cn.hutool.core.io.FileUtil;
import com.dsideal.Config.PropKit;
import com.dsideal.gw.Contoller.IndexController;
import com.dsideal.gw.Handler.RouterHandler;
import com.dsideal.gw.Plugin.YamlProp;
import com.dsideal.gw.Util.LogBackLogFactory;
import com.jfinal.config.*;
import com.jfinal.kit.Prop;
import com.jfinal.plugin.redis.RedisPlugin;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
@ -21,21 +20,10 @@ public class GwApplication extends JFinalConfig {
private static final Logger logger = LoggerFactory.getLogger(GwApplication.class);
/**
*
*
* @return
*/
public static String getEnvPrefix() {
String myEnvVar = System.getenv("WORKING_ENV");
if (myEnvVar == null) {
myEnvVar = "dev";
}
return myEnvVar;
}
public static void main(String[] args) {
System.out.println("当前环境: " + getEnvPrefix());
System.out.println("当前环境: " + PropKit.getEnvPrefix());
String configFile = "undertow.properties";
UndertowServer.create(GwApplication.class, configFile).start();
}
@ -46,13 +34,6 @@ public class GwApplication extends JFinalConfig {
//白名单
public static Set<String> whiteSet = new HashSet<>();
public static Prop PropKit;
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
}
/**
*
@ -62,9 +43,6 @@ public class GwApplication extends JFinalConfig {
//使用LogBack
me.setLogFactory(new LogBackLogFactory());
// 设置静态根目录为上传根目录
me.setBaseUploadPath(PropKit.get("uploadTempPath"));
// 获取所有配置项,得到路由表
for (Map.Entry<Object, Object> entry : PropKit.getProperties().entrySet()) {
if (entry.getKey().toString().startsWith("route")) {

@ -1,6 +1,6 @@
package com.dsideal.gw.Util;
import com.dsideal.gw.GwApplication;
import com.dsideal.Config.PropKit;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
@ -16,7 +16,7 @@ import java.util.Map;
public class JwtUtil {
public static final String AUTHORIZATION_STARTER = "Bearer ";
public static final String SECRET = GwApplication.PropKit.get("jwt.SECRET");
public static final String SECRET = PropKit.get("jwt.SECRET");
// 生成安全的密钥
private static final SecretKey key = Keys.hmacShaKeyFor(SECRET.getBytes(StandardCharsets.UTF_8));

@ -4,6 +4,9 @@ import com.jfinal.kit.Prop;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.Properties;
public class PropKit {
private static final Logger logger = LoggerFactory.getLogger(PropKit.class);
@ -31,7 +34,30 @@ public class PropKit {
return prop.get(key);
}
public static String get(String key,String defaultValue) {
if (!prop.containsKey(key)) {
throw new RuntimeException("没有找到配置文件" + configFile + "中的键值:" + key);
}
return prop.get(key,defaultValue);
}
public static boolean getBoolean(String key,boolean defaultValue){
return prop.getBoolean(key,defaultValue);
}
public static boolean getBoolean(String key){
return prop.getBoolean(key);
}
public static Properties getProperties() {
return prop.getProperties();
}
public static int getInt(String key) {
return prop.getInt(key);
}
public static int getInt(String key, int defaultValue) {
return prop.getInt(key, defaultValue);
}
}

Loading…
Cancel
Save