Quais métodos são utilizados para trocar dados entre microserviços na arquitetura?
Java
Como é que se pode eliminar a dependência de uma biblioteca na construção do sistema Maven?
Implementar a transferência de fundos entre duas contas. Tenha em atenção que esta é uma solução de produção Parâmetros de entrada: @param fromAccountId identificador único do utilizador que transfere fundos @param toAccountId identificador único do utilizador para quem os fundos são transferidos @param amount quantidade da transferência. Número positivo public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("A quantidade deve ser > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("A conta não pode ser a mesma"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Conta não encontrada")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Conta não encontrada")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Saldo insuficiente"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }
O serviço pode funcionar corretamente em caso de falha na conexão com a base de dados?
Como é que o HashMap gere as situações em que objetos com chaves iguais são adicionados?
Que tipos de dados ou valores não podem ser usados como valor para uma chave secundária numa tabela de base de dados?
Qual é a diferença do método destroy() ao remover instâncias de beans do tipo Singleton e Prototype?
Como é que o Hibernate pode implementar o mapeamento de uma classe para uma tabela de base de dados?
Qual é o papel e as funções do comando 'clean' no sistema de build Maven?
Onde estava o Circuit Breaker no seu sistema: na entrada ou nas chamadas de saída?
Por que é teoricamente impossível garantir CA sem P?
O que é cache stampede e cache penetration? Como combatê-los?
Modifique o método para que, em caso de estouro, retorne um erro. Demonstre isso com um exemplo de soma de dois números.
Pode descrever a sua experiência com a ferramenta de automação de migração de bases de dados Liquibase?
Como otimizou ou resolveu o problema de consultas à base de dados que demoravam a ser executadas?
Pode explicar como funciona o operador instanceof em Java e em que situações é utilizado?
Que restrições existem ao usar null como chave numa tabela de hash?
Que tipos de interações e formatos de dados foram utilizados ao trabalhar com a API REST?
Você seguiu alguma regra ou padrão ao realizar a análise do código de outro desenvolvedor?
Partilhe exemplos de tarefas que achou interessante resolver na sua prática