X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FXMLRouterConfiguration.java;h=600aac33a8f2564e37e50b0545276e27069fbcf3;hb=3b2c669b25bfcb5a3c3f06ff9180d85143bebb2a;hp=25ae3313151cb70d2a7f6684ab231ce704f3e93a;hpb=f70baadfd579f4d3aa2e8c9ee7d758fb37d7872f;p=xmlrouter diff --git a/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfiguration.java b/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfiguration.java index 25ae331..600aac3 100644 --- a/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfiguration.java +++ b/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfiguration.java @@ -15,6 +15,8 @@ */ package org.wamblee.xmlrouter.impl; +import org.wamblee.general.Pair; + /** * The XML Router configuration contains both configuration data as well as * derived data used by the XML router. It is important that all this data is @@ -27,44 +29,20 @@ package org.wamblee.xmlrouter.impl; public interface XMLRouterConfiguration { /** - * To be called before the configuration is updated. Corresponds to write - * lock acquire. - */ - void startConfigurationChange(); - - /** - * To be called after the configuration is updated. Corresponds to write - * lock acquire. - */ - void endConfigurationChange(); - - /** - * To be called before the configuration is used. Corresponds to read lock - * acquire. - */ - void startPublishEvent(); - - /** - * To be called after the configuration is used. Corresponds to read lock - * release. - */ - void endPublishEvent(); - - /** - * @return Configuration data. + * Atomically get the configuration. The XMLRouter uses this to get a + * snapshot of the configuration data for handling a single message. In this + * way a consistent configuration is used for each event. + * + * @return Configuration. */ - ExtendedRouterConfig getRouterConfig(); + Pair getConfig(); /** - * Sets the configuration and updates derived data. + * Atomically sets the configuration and updates derived data. There will be + * a short time during which read attempts will fail. * * @param aConfig * Configuration to set. */ void setRouterConfig(ExtendedRouterConfig aConfig); - - /** - * @return Transformation paths (derived data). - */ - TransformationPaths getTransformations(); }