Files
initializr/initializr-service/app.groovy
Stephane Nicoll 542ee7d91b Modularize project structure
This commit splits the feature of Spring Initializr in several modules:

* `initializr-generator` is a standalone library that is responsible for
generating projects based on a `File` directory. It has a minimal set of
dependencies and is not web-related
* `initializr-web` provides the web integration (project generation,
meta-data, etc)
* `initializr-actuator` is an optional module that can be added to
support project-generation-specific statistics

Closes gh-214
2016-04-08 12:01:38 +02:00

39 lines
1.1 KiB
Groovy

package app
import java.util.concurrent.Executor
import org.springframework.context.annotation.Configuration
import org.springframework.scheduling.annotation.AsyncConfigurerSupport
import org.springframework.scheduling.annotation.EnableAsync
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
import io.spring.initializr.web.project.LegacyStsController
@Grab('io.spring.initalizr:initializr-actuator:1.0.0.BUILD-SNAPSHOT')
@Grab('io.spring.initalizr:initializr-web:1.0.0.BUILD-SNAPSHOT')
@Grab('spring-boot-starter-web')
@Grab('spring-boot-starter-redis')
class InitializerService {
@Bean
@SuppressWarnings("deprecation")
LegacyStsController legacyStsController() {
new LegacyStsController()
}
@Configuration
@EnableAsync
static class AsyncConfiguration extends AsyncConfigurerSupport {
@Override
Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor()
executor.setCorePoolSize(1)
executor.setMaxPoolSize(5)
executor.setThreadNamePrefix("initializr-")
executor.initialize()
executor
}
}
}