Igor,

I'm a bit concerned that the engine would be using an interfaces which
gives the impression of delivering a particular version of a configuration
when the current configuration providers would not support this behaviour
and would ignore the version stamp. Wouldn't it be better to build
versioning into the current configuration providers for consistency?

Also, I'm confused by your statement::

>Engine calls getConfig() like right now

since AxisEngine doesn't call getConfig(). The EngineConfiguration is
passed as a parameter on the constructor and later the engine asks for
specific Handlers etc. from the EngineConfiguration. Your scheme would, I
think, require the version stamp to be passed in on each of these methods.
A better approach may be to supply a 'frozen' engine configuration instead
of a version stamp. The 'frozen' version would be an EngineConfiguration
which could, for example, keep a reference to the original and use some
kind of copy on modification scheme (or alternatively clone when the
'frozen' version is created, but that would burn pathlength in the normal
case of an infrequently-changing configuration).

Glyn


Reply via email to