Question

J'utilise / anticiper la pile de technologie suivante:

  • JSF
  • Seam
  • jBPM
  • Spring

Bien sûr, je voudrais Seam d'accéder à des grains de printemps directement et ont obtenu autant de matériaux bien. Je voudrais maintenant descendre dans jBPM et développer une preuve de définition de processus concept qui accède à beans Spring pour effectuer des actions et prendre des décisions.

Pour favoriser la séparation des préoccupations et assurer que les processus peuvent fonctionner sans couture dans le chemin de la classe, je voudrais une solution qui ne permet pas l'accès à tous les composants gérés par Seam.

Je sais que Seam utilise un résolveur EL sur mesure mais à part ça, où dois-je commencer?

Était-ce utile?

La solution

Il est possible de sous-type VariableResolver et indiquez votre sous-type dans votre fichier jbpm.cfg.xml. Cela peut permettre # {} monBean pour résoudre votre haricot.

<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>

mais pour l'accès à partir de scripts et d'actions est la façon d'injecter transitoire les variables dans l'instance de processus, en gardant à l'esprit que vous devrez peut-être travailler autour de bug JBPM-304 , par exemple sous la saisie de script et d'ajuster les fichiers de mappage de mise en veille prolongée associés. Cette injection doit être répétée avant chaque signal à chaque instance de processus.

Ces techniques peuvent être utilisées pour vous assurer d'avoir accès aux haricots que vous voulez accès, mais ne vous donne pas vraiment un EL personnalisé. Cela prendrait quelques bidouillages sérieux de la classe JbpmExpressionEvaluator.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top