代码优化

This commit is contained in:
MaxKey 2024-08-06 09:03:22 +08:00
parent 796dcaa44e
commit feb71561a3
4 changed files with 17 additions and 44 deletions

View File

@ -28,10 +28,6 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.env.PropertySource;
import org.springframework.core.env.StandardEnvironment;
import org.springframework.web.context.support.WebApplicationContextUtils;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import java.sql.Connection;
@ -47,11 +43,13 @@ import java.util.Iterator;
public class InitializeContext extends HttpServlet {
private static final Logger logger = LoggerFactory.getLogger(InitializeContext.class);
private static final long serialVersionUID = -797399138268601444L;
private static final String LOCALE_RESOLVER_BEAN= "localeResolver";
private static final String COOKIE_LOCALE_RESOLVER_BEAN = "cookieLocaleResolver";
ApplicationContext applicationContext;
final ApplicationContext applicationContext;
@Override
public void init(ServletConfig config) throws ServletException {
public void init() {
WebContext.init(applicationContext);
@ -69,18 +67,13 @@ public class InitializeContext extends HttpServlet {
/**
* InitApplicationContext.
*/
public InitializeContext() {
this.applicationContext =
WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
}
public InitializeContext(ConfigurableApplicationContext applicationContext) {
if(applicationContext.containsBean("localeResolver") &&
applicationContext.containsBean("cookieLocaleResolver")) {
if(applicationContext.containsBean(LOCALE_RESOLVER_BEAN) &&
applicationContext.containsBean(COOKIE_LOCALE_RESOLVER_BEAN)) {
BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry)applicationContext.getBeanFactory();
beanFactory.removeBeanDefinition("localeResolver");
beanFactory.registerBeanDefinition("localeResolver",
beanFactory.getBeanDefinition("cookieLocaleResolver"));
beanFactory.removeBeanDefinition(LOCALE_RESOLVER_BEAN);
beanFactory.registerBeanDefinition(LOCALE_RESOLVER_BEAN,
beanFactory.getBeanDefinition(COOKIE_LOCALE_RESOLVER_BEAN));
logger.debug("cookieLocaleResolver replaced localeResolver.");
}
this.applicationContext = applicationContext;
@ -99,7 +92,7 @@ public class InitializeContext extends HttpServlet {
ApplicationConfig.setDatabaseProduct(databaseMetaData.getDatabaseProductName());
logger.info("DatabaseProductName : {}", databaseMetaData.getDatabaseProductName());
logger.info("DatabaseProductVersion: {}" ,databaseMetaData.getDatabaseProductVersion());
logger.info("DatabaseProductVersion : {}" ,databaseMetaData.getDatabaseProductVersion());
logger.trace("DatabaseMajorVersion : {}" , databaseMetaData.getDatabaseMajorVersion());
logger.trace("DatabaseMinorVersion : {}" ,databaseMetaData.getDatabaseMinorVersion());
logger.trace("supportsTransactions : {}" , databaseMetaData.supportsTransactions());

View File

@ -33,8 +33,6 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.ConfigurableApplicationContext;
import jakarta.servlet.ServletException;
@SpringBootApplication
@EnableDiscoveryClient
@MapperScan("org.dromara.maxkey.persistence.mapper,")
@ -50,12 +48,8 @@ public class MaxKeyApplication extends SpringBootServletInitializer {
VFS.addImplClass(SpringBootVFS.class);
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyApplication.class, args);
InitializeContext initWebContext = new InitializeContext(applicationContext);
try {
initWebContext.init(null);
} catch (ServletException e) {
logger.error("ServletException", e);
}
new InitializeContext(applicationContext).init();
logger.info("MaxKey at {}" , new DateTime());
logger.info("MaxKey Server Port {}" , WebContext.getProperty("server.port"));
logger.info("MaxKey started.");

View File

@ -32,8 +32,6 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import jakarta.servlet.ServletException;
@ComponentScan(basePackages = {
"org.dromara.maxkey.authn",
"org.dromara.maxkey.configuration",
@ -67,13 +65,8 @@ public class MaxKeyMgtApplication extends SpringBootServletInitializer {
ProductEnvironment.listEnvVars();
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyMgtApplication.class, args);
InitializeContext initWebContext = new InitializeContext(applicationContext);
new InitializeContext(applicationContext).init();
try {
initWebContext.init(null);
} catch (ServletException e) {
logger.error("Exception ",e);
}
logger.info("MaxKeyMgt at {}" , new DateTime());
logger.info("MaxKeyMgt Server Port {}" , WebContext.getProperty("server.port"));
logger.info("MaxKeyMgt started.");

View File

@ -33,8 +33,6 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import jakarta.servlet.ServletException;
@ComponentScan(basePackages = {
"org.dromara.maxkey.authn",
"org.dromara.maxkey.configuration",
@ -63,13 +61,8 @@ public class MaxKeyOpenApiApplication extends SpringBootServletInitializer {
ProductEnvironment.listEnvVars();
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyOpenApiApplication.class, args);
InitializeContext initWebContext = new InitializeContext(applicationContext);
new InitializeContext(applicationContext).init();
try {
initWebContext.init(null);
} catch (ServletException e) {
logger.error("Exception ",e);
}
logger.info("MaxKey OpenApi at {}" , new DateTime());
logger.info("MaxKey OpenApi Server Port {}" , WebContext.getProperty("server.port"));
logger.info("MaxKey OpenApi started.");