代码优化

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.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.env.PropertySource; import org.springframework.core.env.PropertySource;
import org.springframework.core.env.StandardEnvironment; 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 jakarta.servlet.http.HttpServlet;
import java.sql.Connection; import java.sql.Connection;
@ -47,11 +43,13 @@ import java.util.Iterator;
public class InitializeContext extends HttpServlet { public class InitializeContext extends HttpServlet {
private static final Logger logger = LoggerFactory.getLogger(InitializeContext.class); private static final Logger logger = LoggerFactory.getLogger(InitializeContext.class);
private static final long serialVersionUID = -797399138268601444L; 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 @Override
public void init(ServletConfig config) throws ServletException { public void init() {
WebContext.init(applicationContext); WebContext.init(applicationContext);
@ -69,18 +67,13 @@ public class InitializeContext extends HttpServlet {
/** /**
* InitApplicationContext. * InitApplicationContext.
*/ */
public InitializeContext() {
this.applicationContext =
WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
}
public InitializeContext(ConfigurableApplicationContext applicationContext) { public InitializeContext(ConfigurableApplicationContext applicationContext) {
if(applicationContext.containsBean("localeResolver") && if(applicationContext.containsBean(LOCALE_RESOLVER_BEAN) &&
applicationContext.containsBean("cookieLocaleResolver")) { applicationContext.containsBean(COOKIE_LOCALE_RESOLVER_BEAN)) {
BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry)applicationContext.getBeanFactory(); BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry)applicationContext.getBeanFactory();
beanFactory.removeBeanDefinition("localeResolver"); beanFactory.removeBeanDefinition(LOCALE_RESOLVER_BEAN);
beanFactory.registerBeanDefinition("localeResolver", beanFactory.registerBeanDefinition(LOCALE_RESOLVER_BEAN,
beanFactory.getBeanDefinition("cookieLocaleResolver")); beanFactory.getBeanDefinition(COOKIE_LOCALE_RESOLVER_BEAN));
logger.debug("cookieLocaleResolver replaced localeResolver."); logger.debug("cookieLocaleResolver replaced localeResolver.");
} }
this.applicationContext = applicationContext; this.applicationContext = applicationContext;
@ -98,8 +91,8 @@ public class InitializeContext extends HttpServlet {
DatabaseMetaData databaseMetaData = connection.getMetaData(); DatabaseMetaData databaseMetaData = connection.getMetaData();
ApplicationConfig.setDatabaseProduct(databaseMetaData.getDatabaseProductName()); ApplicationConfig.setDatabaseProduct(databaseMetaData.getDatabaseProductName());
logger.info("DatabaseProductName : {}", databaseMetaData.getDatabaseProductName()); logger.info("DatabaseProductName : {}", databaseMetaData.getDatabaseProductName());
logger.info("DatabaseProductVersion: {}" ,databaseMetaData.getDatabaseProductVersion()); logger.info("DatabaseProductVersion : {}" ,databaseMetaData.getDatabaseProductVersion());
logger.trace("DatabaseMajorVersion : {}" , databaseMetaData.getDatabaseMajorVersion()); logger.trace("DatabaseMajorVersion : {}" , databaseMetaData.getDatabaseMajorVersion());
logger.trace("DatabaseMinorVersion : {}" ,databaseMetaData.getDatabaseMinorVersion()); logger.trace("DatabaseMinorVersion : {}" ,databaseMetaData.getDatabaseMinorVersion());
logger.trace("supportsTransactions : {}" , databaseMetaData.supportsTransactions()); logger.trace("supportsTransactions : {}" , databaseMetaData.supportsTransactions());
@ -111,8 +104,8 @@ public class InitializeContext extends HttpServlet {
logger.trace("DriverName : {}" ,databaseMetaData.getDriverName()); logger.trace("DriverName : {}" ,databaseMetaData.getDriverName());
logger.trace("DriverVersion : {}" ,databaseMetaData.getDriverVersion()); logger.trace("DriverVersion : {}" ,databaseMetaData.getDriverVersion());
logger.info(""); logger.info("");
logger.info("DBMS URL : {}" ,databaseMetaData.getURL()); logger.info("DBMS URL : {}" ,databaseMetaData.getURL());
logger.info("UserName : {}" ,databaseMetaData.getUserName()); logger.info("UserName : {}" ,databaseMetaData.getUserName());
logger.info(WebConstants.DELIMITER); logger.info(WebConstants.DELIMITER);
} catch (SQLException e) { } catch (SQLException e) {

View File

@ -33,8 +33,6 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import jakarta.servlet.ServletException;
@SpringBootApplication @SpringBootApplication
@EnableDiscoveryClient @EnableDiscoveryClient
@MapperScan("org.dromara.maxkey.persistence.mapper,") @MapperScan("org.dromara.maxkey.persistence.mapper,")
@ -50,12 +48,8 @@ public class MaxKeyApplication extends SpringBootServletInitializer {
VFS.addImplClass(SpringBootVFS.class); VFS.addImplClass(SpringBootVFS.class);
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyApplication.class, args); ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyApplication.class, args);
InitializeContext initWebContext = new InitializeContext(applicationContext); new InitializeContext(applicationContext).init();
try {
initWebContext.init(null);
} catch (ServletException e) {
logger.error("ServletException", e);
}
logger.info("MaxKey at {}" , new DateTime()); logger.info("MaxKey at {}" , new DateTime());
logger.info("MaxKey Server Port {}" , WebContext.getProperty("server.port")); logger.info("MaxKey Server Port {}" , WebContext.getProperty("server.port"));
logger.info("MaxKey started."); 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.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import jakarta.servlet.ServletException;
@ComponentScan(basePackages = { @ComponentScan(basePackages = {
"org.dromara.maxkey.authn", "org.dromara.maxkey.authn",
"org.dromara.maxkey.configuration", "org.dromara.maxkey.configuration",
@ -67,13 +65,8 @@ public class MaxKeyMgtApplication extends SpringBootServletInitializer {
ProductEnvironment.listEnvVars(); ProductEnvironment.listEnvVars();
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyMgtApplication.class, args); 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 at {}" , new DateTime());
logger.info("MaxKeyMgt Server Port {}" , WebContext.getProperty("server.port")); logger.info("MaxKeyMgt Server Port {}" , WebContext.getProperty("server.port"));
logger.info("MaxKeyMgt started."); 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.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import jakarta.servlet.ServletException;
@ComponentScan(basePackages = { @ComponentScan(basePackages = {
"org.dromara.maxkey.authn", "org.dromara.maxkey.authn",
"org.dromara.maxkey.configuration", "org.dromara.maxkey.configuration",
@ -63,13 +61,8 @@ public class MaxKeyOpenApiApplication extends SpringBootServletInitializer {
ProductEnvironment.listEnvVars(); ProductEnvironment.listEnvVars();
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyOpenApiApplication.class, args); 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 at {}" , new DateTime());
logger.info("MaxKey OpenApi Server Port {}" , WebContext.getProperty("server.port")); logger.info("MaxKey OpenApi Server Port {}" , WebContext.getProperty("server.port"));
logger.info("MaxKey OpenApi started."); logger.info("MaxKey OpenApi started.");