|
|
|
|
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
|
|
|
|
/* |
|
|
|
|
* Copyright 2012-2019 the original author or authors. |
|
|
|
|
* Copyright 2012-2020 the original author or authors. |
|
|
|
|
* |
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
|
@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; |
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; |
|
|
|
|
import org.springframework.boot.autoconfigure.h2.H2ConsoleProperties.Settings; |
|
|
|
|
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; |
|
|
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties; |
|
|
|
|
import org.springframework.boot.web.servlet.ServletRegistrationBean; |
|
|
|
|
@ -62,13 +63,7 @@ public class H2ConsoleAutoConfiguration {
@@ -62,13 +63,7 @@ public class H2ConsoleAutoConfiguration {
|
|
|
|
|
String path = properties.getPath(); |
|
|
|
|
String urlMapping = path + (path.endsWith("/") ? "*" : "/*"); |
|
|
|
|
ServletRegistrationBean<WebServlet> registration = new ServletRegistrationBean<>(new WebServlet(), urlMapping); |
|
|
|
|
H2ConsoleProperties.Settings settings = properties.getSettings(); |
|
|
|
|
if (settings.isTrace()) { |
|
|
|
|
registration.addInitParameter("trace", ""); |
|
|
|
|
} |
|
|
|
|
if (settings.isWebAllowOthers()) { |
|
|
|
|
registration.addInitParameter("webAllowOthers", ""); |
|
|
|
|
} |
|
|
|
|
configureH2ConsoleSettings(registration, properties.getSettings()); |
|
|
|
|
dataSource.ifAvailable((available) -> { |
|
|
|
|
try (Connection connection = available.getConnection()) { |
|
|
|
|
logger.info("H2 console available at '" + path + "'. Database available at '" |
|
|
|
|
@ -81,4 +76,16 @@ public class H2ConsoleAutoConfiguration {
@@ -81,4 +76,16 @@ public class H2ConsoleAutoConfiguration {
|
|
|
|
|
return registration; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void configureH2ConsoleSettings(ServletRegistrationBean<WebServlet> registration, Settings settings) { |
|
|
|
|
if (settings.isTrace()) { |
|
|
|
|
registration.addInitParameter("trace", ""); |
|
|
|
|
} |
|
|
|
|
if (settings.isWebAllowOthers()) { |
|
|
|
|
registration.addInitParameter("webAllowOthers", ""); |
|
|
|
|
} |
|
|
|
|
if (settings.getWebAdminPassword() != null) { |
|
|
|
|
registration.addInitParameter("webAdminPassword", settings.getWebAdminPassword()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|