Pergunta

Eu estou usando / antecipando a seguinte pilha de tecnologia:

  • JSF
  • Seam
  • jBPM
  • Spring

É claro que eu gostaria Seam para Spring beans de acesso directamente e tem tanto para funcionar bem. Eu agora gostaria de se mover para baixo em jBPM e desenvolver uma prova de definição do processo conceito que acessa Spring beans para executar ações e decisões tomar.

Para promover a separação de interesses e garantir os processos podem ser executados sem costura no caminho de classe Eu gostaria de uma solução que não permite o acesso a toda a Seam componentes gerenciados.

Eu sei Seam usa um bespoke EL resolvedor mas diferente do que, onde eu começo?

Foi útil?

Solução

Sua possível subtipo VariableResolver e especificar o seu subtipo em seu arquivo jbpm.cfg.xml. Isso pode permitir que # {mybean} para determinação de seu bean.

<jbpm-configuration>

    <bean name="jbpm.variable.resolver" class="com.your.jbpm.VariableResolver" singleton="true" >
        <field name="backingVariableResolver"><ref bean="jbpm.variable.backingResolver" /></field>
    </bean>
    <bean  name="jbpm.variable.backingResolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver" singleton="true" />

</jbpm-configuration>

mas para acesso a partir de scripts e ações o caminho é injetar transitória variáveis ?? para a instância do processo, tendo em mente que você pode precisar de trabalho em torno de bug JBPM-304 , por exemplo sub tipagem Script e ajustar os arquivos de mapeamento de hibernação associados. Esta injecção tem de ser repetido antes de cada sinal de cada instância do processo.

Estas técnicas podem ser usadas para garantir que tem acesso aos grãos que você quer o acesso, mas realmente não dar-lhe um EL personalizado. Isso levaria alguns hackers séria da classe JbpmExpressionEvaluator.

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