68 lines
2.4 KiB
Java
68 lines
2.4 KiB
Java
package com.baeldung.web3j.config;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.ComponentScan;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.scheduling.annotation.EnableAsync;
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
|
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
import org.springframework.web.servlet.resource.PathResourceResolver;
|
|
import org.springframework.web.servlet.view.JstlView;
|
|
import org.springframework.web.servlet.view.UrlBasedViewResolver;
|
|
|
|
import java.util.concurrent.Executor;
|
|
|
|
@Configuration
|
|
@EnableWebMvc
|
|
@EnableAsync
|
|
@ComponentScan("com.baeldung.web3j")
|
|
public class AppConfig implements WebMvcConfigurer {
|
|
|
|
public void addViewControllers(ViewControllerRegistry registry) {
|
|
registry.addViewController("/").setViewName("index");
|
|
}
|
|
|
|
/**
|
|
* Static resource locations including themes
|
|
*/
|
|
@Override
|
|
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
|
registry.addResourceHandler("/resources/**/*")
|
|
.addResourceLocations("/", "/resources/")
|
|
.setCachePeriod(3600)
|
|
.resourceChain(true)
|
|
.addResolver(new PathResourceResolver());
|
|
}
|
|
|
|
/**
|
|
* View resolver for JSP
|
|
*/
|
|
@Bean
|
|
public UrlBasedViewResolver viewResolver() {
|
|
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
|
|
resolver.setPrefix("/WEB-INF/jsp/");
|
|
resolver.setSuffix(".jsp");
|
|
resolver.setViewClass(JstlView.class);
|
|
return resolver;
|
|
}
|
|
|
|
/**
|
|
* Configuration for async thread bean
|
|
*
|
|
* More: https://docs.spring.io/autorepo/docs/spring-framework/5.0.3.RELEASE/javadoc-api/org/springframework/scheduling/SchedulingTaskExecutor.html
|
|
*/
|
|
@Bean
|
|
public Executor asyncExecutor() {
|
|
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
|
executor.setCorePoolSize(2);
|
|
executor.setMaxPoolSize(2);
|
|
executor.setQueueCapacity(500);
|
|
executor.setThreadNamePrefix("CsvThread");
|
|
executor.initialize();
|
|
return executor;
|
|
}
|
|
|
|
} |