Compare commits

...

4 Commits

Author SHA1 Message Date
bootvue 8948ae1ebf
Merge a292adddc6 into 45d7b20b75 2024-03-14 18:20:09 +08:00
Arthur Chill 45d7b20b75
Merge pull request #26 from lohasle/fixbug-external-tomcat-start
启动器新增支持外部builder启动选项
2024-03-13 10:47:19 +08:00
g4g 148b687bd9
Update BladeApplication.java
新增外部tomcat启动选项
2024-03-13 10:34:54 +08:00
bootvue a292adddc6 fix client query sql 2023-10-10 13:47:23 +00:00
2 changed files with 22 additions and 4 deletions

View File

@ -50,6 +50,20 @@ public class BladeApplication {
}
public static SpringApplicationBuilder createSpringApplicationBuilder(String appName, Class source, String... args) {
return createSpringApplicationBuilder(null,appName, source, args);
}
/**
* 兼容tomcat等外部容器启动使用此方法时请按照1进行工程改造
* <pre>1-https://sns.bladex.cn/q-6813.html</pre>
* <pre>2-解决https://sns.bladex.cn/q-66.html问题</pre>
* @param builder builder
* @param appName appName
* @param source source
* @param args args
* @return
*/
public static SpringApplicationBuilder createSpringApplicationBuilder(SpringApplicationBuilder builder,String appName, Class source, String... args){
Assert.hasText(appName, "[appName]服务名不能为空");
// 读取环境变量使用spring boot的规则
ConfigurableEnvironment environment = new StandardEnvironment();
@ -68,7 +82,10 @@ public class BladeApplication {
// 当前使用
List<String> activeProfileList = new ArrayList<>(profiles);
Function<Object[], String> joinFun = StringUtils::arrayToCommaDelimitedString;
SpringApplicationBuilder builder = new SpringApplicationBuilder(source);
if(builder==null){
// 如果builder为空 创建 此操作将启动内嵌web容器 以jar模式启动
builder = new SpringApplicationBuilder(source);
}
String profile;
if (activeProfileList.isEmpty()) {
// 默认dev开发
@ -102,9 +119,10 @@ public class BladeApplication {
// 加载自定义组件
List<LauncherService> launcherList = new ArrayList<>();
ServiceLoader.load(LauncherService.class).forEach(launcherList::add);
SpringApplicationBuilder finalBuilder = builder;
launcherList.stream().sorted(Comparator.comparing(LauncherService::getOrder)).collect(Collectors.toList())
.forEach(launcherService -> launcherService.launcher(builder, appName, profile));
return builder;
.forEach(launcherService -> launcherService.launcher(finalBuilder, appName, profile));
return finalBuilder;
}
/**

View File

@ -55,6 +55,6 @@ public interface SecureConstant {
/**
* 查询client_id
*/
String DEFAULT_SELECT_STATEMENT = BASE_STATEMENT + " where client_id = ?";
String DEFAULT_SELECT_STATEMENT = BASE_STATEMENT + " where client_id = ? and is_deleted = 0";
}