Questão nº 62
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 62)
O analista Fábio precisa adicionar o suporte a um segundo DataSource, chamado DS2, em uma aplicação baseada em Spring Boot. Cada DataSource da aplicação é conectado a um banco de dados diferente. O projeto com o código da aplicação possui o arquivo de parâmetros do Spring Boot application.properties, que deve ser modificado por Fábio para acelerar a implementação.
Para adicionar o suporte ao segundo banco de dados no Spring Boot, Fábio deve adicionar ao application.properties os parâmetros do DS2 e:
- Aativar a property spring.datasource.multiple;
- Bconfigurar a property spring.datasource.active=2;
- Cativar a property spring.datasource.allow-second;
- Ddeclarar um bean PropertyMapper para cada DataSource;
- Edeclarar um bean ConfigurationProperties para cada DataSource. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Para adicionar múltiplos DataSources (conexões com bancos de dados) no Spring Boot, você precisa agrupar as configurações de cada um. Isso é feito criando seções distintas no application.properties e, em seguida, mapeando cada uma dessas seções para um objeto Java (um "bean") que o Spring Boot possa entender e usar.
- (A) Incorreta: Não existe uma propriedade
spring.datasource.multiplepara ativar o suporte a múltiplos DataSources. - (B) Incorreta: A propriedade
spring.datasource.activenão existe e não é usada para configurar ou ativar um número específico de DataSources. - (C) Incorreta: Não existe uma propriedade
spring.datasource.allow-secondpara permitir um segundo DataSource. - (D) Incorreta:
PropertyMapperé uma classe utilitária do Spring para mapeamento de propriedades, mas não é o mecanismo principal para declarar a configuração de múltiplos DataSources como beans. Você não declara umPropertyMappercomo um bean para essa finalidade. - (E) Correta: Para cada DataSource adicional, Fábio deve definir um conjunto de propriedades no
application.propertiescom um prefixo único (ex:app.datasource.ds2.url,app.datasource.ds2.username). Em seguida, ele deve criar uma classe Java (um POJO) e anotá-la com@ConfigurationProperties("app.datasource.ds2"), declarando-a como um bean. Essa classe será responsável por agrupar e mapear as propriedades doapplication.propertiespara o segundo DataSource, permitindo que o Spring Boot crie e gerencie múltiplas conexões de forma organizada.
Fonte: FGV TRF1 2024 Técnico Judiciário - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.