Histórico da Página
...
- Alteração do application.yml para utilizar a propriedade ta-api-hub.products, possibilitando configuração de múltiplos produtos e seus respectivos datasources;:
```yaml
ta-api-hub:
default-instance:
default-company:
products:
bioenergia:
enabled:
name:
datasource:
driver-class-name:
url:
username:
password:
test-connection:
industria-mi:
enabled:
name:
datasource:
driver-class-name:
url:
username:
password:
test-connection:
industria-pi:
enabled:
name:
datasource:
driver-class-name:
url:
username:
password:
test-connection:
```
- Criação das classes ExternalProductContext, ProductDataSourceConfig, ExternalProductFilter e da anotação ExternalProductAware para controle dinâmico do contexto de produto externo por requisição;
- Modificação da DataSourceUtil para gerenciar múltiplos datasources, templates e named templates conforme o produto ativo;
- Foi necessário revisar e atualizar todos os pontos do código que utilizavam @Value para injeção de propriedades, especialmente nas classes BO, devido à nova estrutura do application.yml. Isso garantiu que as configurações fossem corretamente lidas conforme o novo padrão de organização do arquivo de propriedades.
- Adição da chave de cabeçalho X-Product para utilizar os endpoints dos controladores anotados com @ExternalProductAware (atualmente, MigrationsController e FunctionsController, ou seja, /admin/migrations e /functions). Nesses casos, o cabeçalho é obrigatório para identificar explicitamente o produto externo da requisição, garantindo o isolamento e a seleção correta da base de dados. Para os demais controladores, o produto é resolvido automaticamente pelo contexto interno da API, por meio do método getProduct presente em classes como EntityHe, QueryHe e MobileServices, não sendo necessário informar o cabeçalho.
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas