Offline Mode » History » Revision 4
Revision 3 (Henning Blohm, 17.07.2016 21:55) → Revision 4/6 (Henning Blohm, 07.09.2016 21:21)
h1. Offline Mode The purpose of the offline mode is to avoid long synchronisation times when developing in a situation poor network connectivity. The expected behavior is that of having no network connectivity at all - without imposing this on other applications. The offline mode can be turned on and off via a system property and interactively on the GUI. h2. Design * Component Repository use @AbstractRepository.checkOffline()@ whenever a connection is normally required. The method looks essentially like this: <pre><code class="java"> protected void checkOfflineMode() { if (Foundation.isOffline()) { throw new OfflineModeException("Running in offline mode"); IllegalStateException("Running offline"); } } </code></pre> where @Foundation.isOffline()* checks for the boolean String value of the system property *com.zfabrik.offline*. * Changing the system property can happen any time * Initially the property is assumed as @false@ and should only be specified otherwise in @runtime.properties@. * The system property status is backed in a JMX MBean attribute of the newly created Foundation MBean. * We use the internal JMX implementation to broadcast attribute changes to all worker processes. * There is a toggle checkbox in the GUI.