Offline Mode » History » Revision 3
Revision 2 (Henning Blohm, 17.07.2016 21:52) → Revision 3/6 (Henning Blohm, 17.07.2016 21:55)
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 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 reflected in a JMX MBean attribute of the newly created Foundation MBean.
* TBD. We use the internal JMX implementation to broadcast attribute changes to all worker processes.
* There is a toggle checkbox in the GUI.
