01. DADOS GERAIS
Linha de Produto: | Linha Protheus |
---|---|
Segmento: | BackOffice |
Módulo: | TOTVS Transmite |
Função: | Não Há |
País: | Brasil |
Ticket: | Não Há |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERTSS3-3705 |
Requisito/Story/Issue (informe o requisito relacionado) : |
02. SITUAÇÃO/REQUISITO
Seguindo o trabalho realizado em algumas das API's, o objetivo dessa demanda é refatorar rotinas do projeto transmit-mde-worker relacionadas com o processo de sincronismo, com o intuito de evitar falhas na comunicação com a base de dados e garantir o registro adequado das NF-e recebidas sincronizadas.
Essa tarefa tem como escopo principal os serviços do projeto transmit-mde-worker, onde os pontos a guiar o desenvolvimento serão:
- Manter a injeção de dependência da conexão do Mongo DB como Singleton;
- Alterar a Injeção de dependência dos repositórios relacionados com o conceito Multitenancy para o modelo Scoped;
- Garantir a abertura e fechamento das sessões com o Mongo DB;
- Garantir a limpeza de memória de referências à objetos não mais utilizados pelas conexões;
03. SOLUÇÃO
A refatoração principal ocorreu no projeto transmit-nfe-domain, onde estão as classes e métodos utilizados no processo de sincronismo.
- Implementação do novo modelo de repositório denominado BaseRepository, que já havia sido implementado nas API's portal-api e cte-api;
- Implementação de interface e classe no projeto transmit-framework para tratar o conceito de multitenancy nos serviços;
- Na injeção dos repositórios, a aplicação passou a instanciar a classe ContextMultitenancy respeitando o Tenant recebido na requisição via mensageria ou sessão TNF das chamadas, para devido posicionamento na base de dados do cliente;
- Criação de novo modelo NFeRepository que herda do BaseRepository, para utilização nos fluxos que estão no escopo desta tarefa;
- Injeção de dependência para as novas classes de repositório utilizando o modelo Scoped, que passará a criar um objeto em cada requisição recebida no serviço, realizando o posicionamento do repositório no banco de dados correspondente;
- Preenchimento de propriedade durante a injeção de dependência do serviço de mensageria, para que seja possível identificar o nome do Pod no painel de conexões do Message Broker, facilitando o troubleshooting.
04. DEMAIS INFORMAÇÕES
- Não Há.
05. ASSUNTOS RELACIONADOS
- Não Há.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas