Skip to content

Commit

Permalink
upgrade mybatis and druid config
Browse files Browse the repository at this point in the history
  • Loading branch information
colddew committed May 13, 2019
1 parent 30e3dfe commit 20ea97b
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 140 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Tech Stack & Legacy Issue
- [ ] retrofit
- [ ] okhttp
- [ ] logback
- [ ] mybatis
- [ ] druid
- [x] mybatis
- [x] druid
- [ ] jedis
- [ ] kafka
- [ ] mongodb
Expand Down
4 changes: 3 additions & 1 deletion micro-service-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@ mysql & rabbitmq
add another application-dev.properties file to resources directory, and start application with the following command, mvn spring-boot:run -Dserver.port=9001 -Dspring.profiles.active=dev -Darchaius.configurationSource.additionalUrls=classpath:///application.properties

## monitor application
download turbine-web and hystrix-dashboard war files, modify the configurations refering to turbine.config.properties under resources directory, and then start them with web servers
download turbine-web and hystrix-dashboard war files, modify the configurations refering to turbine.config.properties under resources directory, and then start them with web servers

druid monitor endpoint: `http://<server-ip>:<server-port>/druid/index.html`
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
package edu.ustc.server.config;

import com.alibaba.druid.support.http.StatViewServlet;
import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;

@Configuration
public class ServletConfig extends SpringBootServletInitializer {
Expand All @@ -25,13 +22,13 @@ public class ServletConfig extends SpringBootServletInitializer {
// };
// }

@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public ServletRegistrationBean statViewServlet() {
StatViewServlet servlet = new StatViewServlet();
ServletRegistrationBean bean = new ServletRegistrationBean(servlet, "/druid/*");
return bean;
}
// @Bean
// @Order(Ordered.HIGHEST_PRECEDENCE)
// public ServletRegistrationBean statViewServlet() {
// StatViewServlet servlet = new StatViewServlet();
// ServletRegistrationBean bean = new ServletRegistrationBean(servlet, "/druid/*");
// return bean;
// }

@Bean
public ServletRegistrationBean hystrixMetricsStreamServlet() {
Expand Down
66 changes: 33 additions & 33 deletions micro-service-server/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,39 +21,39 @@ spring.datasource.druid.one.min-evictable-idle-time-millis=300000
spring.datasource.druid.one.max-evictable-idle-time-millis=
spring.datasource.druid.one.filters=wall,stat

# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
spring.datasource.druid.one.web-stat-filter.enabled=
spring.datasource.druid.one.web-stat-filter.url-pattern=
spring.datasource.druid.one.web-stat-filter.exclusions=
spring.datasource.druid.one.web-stat-filter.session-stat-enable=
spring.datasource.druid.one.web-stat-filter.session-stat-max-count=
spring.datasource.druid.one.web-stat-filter.principal-session-name=
spring.datasource.druid.one.web-stat-filter.principal-cookie-name=
spring.datasource.druid.one.web-stat-filter.profile-enable=

# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
spring.datasource.druid.one.stat-view-servlet.enabled=
spring.datasource.druid.one.stat-view-servlet.url-pattern=
spring.datasource.druid.one.stat-view-servlet.reset-enable=
spring.datasource.druid.one.stat-view-servlet.login-username=
spring.datasource.druid.one.stat-view-servlet.login-password=
spring.datasource.druid.one.stat-view-servlet.allow=
spring.datasource.druid.one.stat-view-servlet.deny=

# Spring监控配置,说明请参考Druid Github Wiki,配置_Druid和Spring关联监控配置
spring.datasource.druid.one.aop-patterns= # Spring监控AOP切入点,如x.y.z.service.*,配置多个英文逗号分隔

# 配置StatFilter
spring.datasource.druid.one.filter.stat.enabled=true
spring.datasource.druid.one.filter.stat.db-type=h2
spring.datasource.druid.one.filter.stat.log-slow-sql=true
spring.datasource.druid.one.filter.stat.slow-sql-millis=2000

# 配置WallFilter
spring.datasource.druid.one.filter.wall.enabled=true
spring.datasource.druid.one.filter.wall.db-type=h2
spring.datasource.druid.one.filter.wall.config.delete-allow=false
spring.datasource.druid.one.filter.wall.config.drop-table-allow=false
# druid built-in monitor page
#spring.datasource.druid.one.stat-view-servlet.enabled=
#spring.datasource.druid.one.stat-view-servlet.url-pattern=
#spring.datasource.druid.one.stat-view-servlet.reset-enable=
#spring.datasource.druid.one.stat-view-servlet.login-username=
#spring.datasource.druid.one.stat-view-servlet.login-password=
#spring.datasource.druid.one.stat-view-servlet.allow=
#spring.datasource.druid.one.stat-view-servlet.deny=

# druid web monitor
#spring.datasource.druid.one.web-stat-filter.enabled=
#spring.datasource.druid.one.web-stat-filter.url-pattern=
#spring.datasource.druid.one.web-stat-filter.exclusions=
#spring.datasource.druid.one.web-stat-filter.session-stat-enable=
#spring.datasource.druid.one.web-stat-filter.session-stat-max-count=
#spring.datasource.druid.one.web-stat-filter.principal-session-name=
#spring.datasource.druid.one.web-stat-filter.principal-cookie-name=
#spring.datasource.druid.one.web-stat-filter.profile-enable=

# druid spring monitor
#spring.datasource.druid.one.aop-patterns=

# druid stat filter
#spring.datasource.druid.one.filter.stat.enabled=
#spring.datasource.druid.one.filter.stat.db-type=
#spring.datasource.druid.one.filter.stat.log-slow-sql=
#spring.datasource.druid.one.filter.stat.slow-sql-millis=

# druid wall filter
#spring.datasource.druid.one.filter.wall.enabled=
#spring.datasource.druid.one.filter.wall.db-type=
#spring.datasource.druid.one.filter.wall.config.delete-allow=
#spring.datasource.druid.one.filter.wall.config.drop-table-allow=


# rabbit
Expand Down
Original file line number Diff line number Diff line change
@@ -1,43 +1,12 @@
package edu.ustc.server.config;

import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import javax.sql.DataSource;

@Configuration
@EnableTransactionManagement
@MapperScan(basePackages = "edu.ustc.server.mapper", sqlSessionFactoryRef = "sqlSessionFactory")
@MapperScan(basePackages = "edu.ustc.server.mapper")
public class DatasourceConfig {

@Bean
public DataSource dataSource() {
return DruidDataSourceBuilder.create().build();
}

@Bean
public DataSourceTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}

@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) {

try {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*Mapper.xml"));

return sessionFactory.getObject();
} catch (Exception e) {
throw new RuntimeException("sqlSessionFactory configuration error", e);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,39 +1,15 @@
package edu.ustc.server.config;

import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;

import com.alibaba.druid.support.http.StatViewServlet;
import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;

@Configuration
public class ServletConfig extends SpringBootServletInitializer {

// @SuppressWarnings("serial")
// @Bean
// public Servlet dispatcherServlet() {
// return new GenericServlet() {
// @Override
// public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// res.setContentType("text/plain");
// res.getWriter().append("Hello World");
// }
// };
// }

@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public ServletRegistrationBean statViewServlet() {
StatViewServlet servlet = new StatViewServlet();
ServletRegistrationBean bean = new ServletRegistrationBean(servlet, "/druid/*");
return bean;
}


@Bean
public ServletRegistrationBean hystrixMetricsStreamServlet() {
HystrixMetricsStreamServlet servlet = new HystrixMetricsStreamServlet();
Expand Down
36 changes: 1 addition & 35 deletions micro-service-server2/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,43 +21,9 @@ spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.max-evictable-idle-time-millis=
spring.datasource.druid.filters=wall,stat

# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
spring.datasource.druid.web-stat-filter.enabled=
spring.datasource.druid.web-stat-filter.url-pattern=
spring.datasource.druid.web-stat-filter.exclusions=
spring.datasource.druid.web-stat-filter.session-stat-enable=
spring.datasource.druid.web-stat-filter.session-stat-max-count=
spring.datasource.druid.web-stat-filter.principal-session-name=
spring.datasource.druid.web-stat-filter.principal-cookie-name=
spring.datasource.druid.web-stat-filter.profile-enable=

# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
spring.datasource.druid.stat-view-servlet.enabled=
spring.datasource.druid.stat-view-servlet.url-pattern=
spring.datasource.druid.stat-view-servlet.reset-enable=
spring.datasource.druid.stat-view-servlet.login-username=
spring.datasource.druid.stat-view-servlet.login-password=
spring.datasource.druid.stat-view-servlet.allow=
spring.datasource.druid.stat-view-servlet.deny=

# Spring监控配置,说明请参考Druid Github Wiki,配置_Druid和Spring关联监控配置
spring.datasource.druid.aop-patterns= # Spring监控AOP切入点,如x.y.z.service.*,配置多个英文逗号分隔

# 配置StatFilter
spring.datasource.druid.filter.stat.enabled=true
spring.datasource.druid.filter.stat.db-type=h2
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000

# 配置WallFilter
spring.datasource.druid.filter.wall.enabled=true
spring.datasource.druid.filter.wall.db-type=h2
spring.datasource.druid.filter.wall.config.delete-allow=false
spring.datasource.druid.filter.wall.config.drop-table-allow=false


# mybatis
#mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.mapper-locations=classpath:mapper/*Mapper.xml


# rabbit
Expand Down

0 comments on commit 20ea97b

Please sign in to comment.