Três transações auto-invocadas que não estavam fazendo nada

FixDocsService
Navios
4 de setembro de 2026 às 18:30 UTC
Autor
Kamo
Enviar
9e9f460

@Transactional e @Async são PROXIES. Uma chamada de dentro do mesmo feijão nunca atinge um, então todas as três anotações estavam inertes. Encontrado por auditoria, não por uma falha — que é o ponto: nenhum deles relatou nada. O pior dos três. Funciona a @Modificing bulk delete, que lança TransactionRequiredException sem transação; o chamador captura e registra um aviso. Traduções tão antigas nunca foram excluídos, e o site carreiras serviria traduções de máquina de texto de anúncio substituído em 21 locais - a coisa exata que o método existe prevenir, falhando da forma exata como a tradução KB falhou silenciosamente durante meses. Esse incidente é citado no javadoc do método do repositório Liguei para aqui. 2. CarreirasRetençãoSweep.purgeOne — exclui a linha Img ea linha de aplicação, o que deve acontecer ou não. Sem uma transacção uma falha entre quer encaderna um currículo que aponta para nada ou deixa cair o processo de um requerente enquanto seu registro sobrevive, em um trabalho noturno cujo propósito é honrar uma promessa de retenção. Ambos estão agora em seus próprios feijões (Carreira de Tradução, Escritor, CarreirasAplicaçãoPurger) atingiu apenas através de uma referência injectada, que é o padrão LegalPackageDeliveryWorker já usa aqui. 3. **************** - a anotação é REMOVED em vez de tornado real, porque torná-lo real teria introduzido um bug. Enviando e- mail não é algo que um rollback desfaz: uma transação por organização faria uma falha no nono assinante volta o último NotificadoAt dos oito já enviou e-mail, e a próxima corrida horária iria enviar todos os oito novamente. Por O compromisso do assinante — o que estava realmente em execução — está correcto. O javadoc agora diz isso em vez de reivindicar uma garantia que nunca existiu. Também corrige a nota de réplica da classe: disse DaemonService executa réplicas: 1, Mas esta varredura é feita no serviço médico. Escalar esta implantação envia duas mensagens para estranhos, e o comentário apontou para o serviço errado para verificar. Autoinvocação de Carreiras Testa o pacote para o padrão para que ele não possa vir Para trás. Plain @Transactional não é sinalizada deliberadamente — sua propagação padrão é EXIGIDO, então uma auto-chamada aninhada corretamente se junta à transação do chamador, e as sete chamadas aqui foram verificadas cada uma para sentar dentro de um ponto de entrada transacional.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços