Pergunta

Podemos invocar um código Java no Activiti usando um serviço Java ou com um script groovy.Qual é a diferença entre essas duas maneiras?E quais são as vantagens relativas e desvantagens?

edit -

scripts groovy são mais flexíveis, mas adiciona uma dependência extra.

Alguém pode explicar os outros efeitos dessas duas abordagens, como desempenho, estabilidade do aplicativo, o que acontece com um grande número de processos paralelos, etc.

Foi útil?

Solução

Eu tenho uma boa experiência usando classes de serviço Java.

O motor Activiti instanciará cada classe JavaService apenas uma vez e reutilizá-la na próxima vez é necessária por uma outra ação de fluxo de trabalho.A pegada de memória será bastante pequena. Eu não sei como isso é feito em tarefas de script;Eu acho que eles são "compilados" / interpretados toda vez de novo e de novo que podem ser mais lentos e / ou assume mais recursos e MEM.

Um segundo ponto é mencionar que você pode criar implementações abstratas para classes de javaservice que já fornecem implementações básicas.Eu realmente não sei como isso funcionará em scripts.

Um último ponto, penso em validação de código durante o tempo de compilação.Lá eu não sei como isso é tratado ao usar scripts ...

Espero que minha resposta ajude um pouco ...

Outras dicas

Não tenho certeza se esta uma boa resposta ou não, mas a maneira como penso nisso.As classes de tarefas de serviço devem implementar a interface javadatelegate em que o método Execute é o chamado durante a execução do processo.

Tarefas de script nos dão mais flexibilidade na medida em que podemos referenciar qualquer "bean" configurado e chamar qualquer método que quisermos.

como eu ajuda, isso pode não estar completo, mas é a maneira que eu penso nisso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top