On Wed, 08 Dec 2004 01:19:21 +0100, Michael Augustin <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> in a project we use ant as a workflow-engine. The difference to the
> normal use as a buildtool is, that target (workflows) are executed as
> often as the user requests and the ant-application runs over long time.
> That makes it necessarry that ant-variables (properties) are evaluated
> mroe than just on time.
>
> So each time a target is executed I call reconfigure previously for each
> task/runtimeconfigurable-object. The change in the attachted files
> delegate the reconfigure-call also to the children-xml-elements (also
> RuntimeConfigurable-Objects).
>
> Now the bad news: If you have child-elements in your ant-tasks, that are
> no tasks (means: your task is not an task-container, but you use
> child-elements and implements methods like addConfiguredChild(Child c) )
> . The addConfiguredChild or wathever method you implemented for your
> child-element is called as often as reconfigure is called on the task in
> a target. So you have to pay attention on clearing the list of your
> child-object after perform was called. For myself I implemented a method
> clearForReconfigure that is called for each of my tasks.
>
> So I would like to get a feedback for this change (see attached diff)
> and the idea to use ant as workflowengine.


you know, I'm not sure that Ant should be used as a long life workflow engine. I've encountered other projects doing this (GridAnt for example), and worry that
(a) the longevity requirements introduce new complications. While we strive for zero-leakage in IDE hosting, minimising memory consumption during a run itself is not something we focus on, aiming for post-run cleanup instead,


(b) real workflows have complex fault handling logic; ant doesnt.

(c) persistence of state. As in "ant has none"

I'm not going to make any comment either way on the changes; I dont have time to look at them this year. I do worry that we are enabling things that are not necessarily appropriate.

Also, why dont you just create new projects on every run, rather than manipulate an existing project?

-steve

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to