Implantando Processos
Onde colocar os arquivos .kikwi
Por padrão, ao subir a aplicação, o KikwiflowAutoDeployer varre o classpath pelo padrão
configurado em kikwiflow.process-definition.auto-deploy.path (default
classpath*:processes/**/*.kikwi) e implanta cada arquivo encontrado. Convencionalmente:
src/main/resources/
processes/
abertura/
abertura-de-conta.kikwi
faturamento/
cobranca-recorrente.kikwi
A estrutura de subpastas é livre — o padrão ** casa recursivamente. O que importa é o campo key
dentro de cada arquivo (abertura-de-conta, no exemplo do
tutorial), não o nome do arquivo nem o
caminho. A extensão é .kikwi, mas o conteúdo é JSON.
O que acontece no deploy
Cada arquivo é lido, parseado (kikwi-parser-jackson, dispatch polimórfico pelo campo "type" de
cada nó) e um checksum do conteúdo é calculado. A partir daí:
- Mesma
key+ mesmo checksum (conteúdo idêntico a uma versão já implantada) — o deploy é um no-op; a definição existente é reaproveitada, nenhuma versão nova é criada. - Mesma
key+ checksum diferente (o processo mudou — por exemplo, você adicionou o gateway de faixa de risco no Craft e reexportou) — uma nova versão é criada (versionincrementado em relação à última versão daquelakey). Instâncias já em execução continuam presas à versão com a qual começaram; novas instâncias iniciadas viabyKey(...)passam a usar a versão mais recente. - Erro de parsing/validação (bean referenciado inexistente no momento do deploy, gateway
malformado, mais de uma aresta
isDefaultno mesmo gateway) — oKikwiflowAutoDeployerregistra a falha no log e continua para o próximo arquivo, em vez de abortar a inicialização da aplicação inteira. Verifique os logs de startup (Kikwiflow AutoDeploy: Falha ao fazer parse/deploy do arquivo ...) se um processo esperado não aparecer implantado.
Desabilitando o auto-deploy
Em cenários onde a implantação de processos precisa ser um passo explícito e controlado (ex.: um pipeline de release separado, ou uma API de deploy dedicada), desative o auto-deploy:
kikwiflow:
process-definition:
auto-deploy:
enabled: false
E implante manualmente via POST /process-definitions (se kikwi-management-rest-spring-boot-starter
estiver presente) ou chamando ProcessDefinitionService.deploy(...) diretamente a partir do seu
próprio código.
Próximo passo
Com processos implantados, veja o restante da superfície operacional — buscar instâncias, completar tarefas de código, retentar incidentes em lote — em Operando via API REST.