Igor,

I like the general drift of your proposal, except that I think it need not
involve the EngineConfigurationFactory. Let me play it back in abstract
form to make sure we are in synch.

1. EngineConfiguration should provide a method which returns a "version
stamp" representing the *current* configuration -- logically a snapshot.

2. MessageContext is responsible for hiding the complexities of versioning
from handlers. Conversely, handlers should access the engine configuration
via the message context so the message context can sort out versioning.

3. The engine should know nothing about versioning. (Not totally convinced
of this, but it's a good objective!)

May I propose an improvement? Instead of exposing a "version stamp"
interface/class, let's use EngineConfiguration! So EngineConfiguration
would support a method (which could be called getCurrentVersion if you
prefer):

public EngineConfiguration getSnapshot();

Glyn


Reply via email to