KamoCRM

Quebrar uma dependência circular de feijão o STOMP live-session guard introduzido

FixMediaService
Navios
23 de setembro de 2026 às 11:28 UTC
Autor
Kamo
Enviar
723ad95

sessionAccessGuard do d47b471 no WebSocketConfig caiu a cada pod: Spring deve construir totalmente WebSocketConfig (a **************************** cada campo @Autowired resolvido) antes dele pode construir corretorMessagingTemplate eo resto do corretor infra-estrutura, que chama de volta para esta mesma classe configurarClientInboundChannel. SessionAccessGuard depende de SuporteTicketService, cuja própria cadeia (SupportAssignmentService -> Suporte Serviço de Notificação -> PushDispatchService -> PresenceService) needs um SimpMessagingTemplate - que neste aplicativo é corretorMessagingTemplate. Confirmado ao vivo: todas as réplicas do novo sucesso "brokerMessagingTemplate: Feijão solicitado está atualmente na criação" e CrashLoopBackOff'd; os dois ainda-correndo velho-construção pods continuou servindo ao longo, então este foi um preso Não é uma falha. SessionAccessGuard é agora @Lazy, então o campo mantém um proxy durante WebSocketConfig própria construção eo feijão real - e sua plena cadeia de dependência - só resolve no primeiro uso (a primeira sessão ao vivo SUBSCRIBE), muito depois que o corretor terminou de começar. Verificado por redeploying e leitura do log de inicialização do novo pod em vez de apenas seu estado de prontidão - esta classe de falha nunca toca um caminho de solicitação uma unidade teste pode chegar, que é exatamente por isso 1098 testes verdes não primeira vez; apenas uma atualização real do ApplicationContext faz.

Todas as alterações

Como o que vês no transporte?

Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.

Começar Livre Para SempreVer Preços