1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
@Component public class DynamicDataSourceInterceptor implements HandlerInterceptor {
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { String city = request.getHeader("city"); if (StringUtils.isBlank(city)) { city = CityEnum.wuhan.getCity(); } DataSourceHolder.setDataSource(city); System.err.println(city + "处理开始..."); return true; }
@Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { String city = request.getHeader("city"); if (StringUtils.isBlank(city)) { city = CityEnum.wuhan.getCity(); } DataSourceHolder.clearDataSource(); System.err.println(city + "处理完成..."); } }
|