Управление пулом соединений с помощью Spring Boot - PullRequest
0 голосов
/ 15 марта 2020

Я обнаружил, что мое веб-приложение Spring Boot создает новые подключения к базе данных и не закрывает их должным образом. Это проблема, потому что у меня есть ограничение на количество подключений. Объяснение, которое я нашел, кажется мне довольно расплывчатым. Не могли бы вы объяснить, как правильно управлять пулом соединений в Spring Boot?

Я использую Spring Boot 2.2.5, Hibernate Core 5.4.12, Heroku, JawsDB.

Это мой метод контроллера:

@Controller
public class MainController {

 @GetMapping("/index")
    public String index(Model model) {

        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        HttpEntity<String> entity = new HttpEntity<>(null, headers);
        ResponseEntity<Project[]> responseProjects =  restTemplate.exchange("http://" + url + "/api/v1/projects", HttpMethod.GET, entity, Project[].class);
        List<Project> projectList = Arrays.asList(responseProjects.getBody());

Приведенный выше код получает все проекты, используя это:

@RestController
@RequestMapping("/api/v1")
public class ProjectContoller {

    @Autowired
    private ProjectRepository projectRepository;


    @GetMapping("/projects")
    public List<Project> getAllProjects(){
        return projectRepository.findAll();
    }

Ниже приведен мой файл application.properties. Я слышал, что Heroku автоматически управляет этой конфигурацией, в зависимости от надстройки базы данных (для установки пароля и т. Д. c.), Связанной с приложением, поэтому я не знаю, уместно ли это.

spring.datasource.url=url
spring.datasource.username=user
spring.datasource.password=password

spring.datasource.max-active: 2
spring.datasource.max-idle: 2

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...