All KGS OSGi based productscontain the KGS ProtocolWriter plugin inside its delivered packet (war):
KGS Contentserver
KGS Webservice
KGS DocumentRouter (3.x & 4.x)
KGS Scanserver
KGS WriteCache
KGS ReadCache
Dieser erlaubt es in eine Datenbank diverse Aktionen (The plugin allows the using service to protocol several actions like create, put, get etc.) zu protokollieren. Dies kann in den Produkten explizit aktiviert bzw. deaktiviert werden.
Ist zusäzlich TiA Core (mit CMIS konformer Ablage) im Einsatz, so wird zusätzlich zum ProtocolWriter auch in das konfigurierte TiA Core Modul protokolliert (z.B. ElasticSearch).
Die Implementierung ist über Services realisiert wurden. Die einzelnen KGS Komponenten fungieren dabei als Service-Consumer. Sie “publishen” einen Protokolleintrag an den ein Interface (IProtocolWriter), welcher im KGS Core Bundle liegt.
Existieren nun Service-Listener im OSGi-Framework, so nehmen diese die Protokollnachricht entgegen und verarbeiten diese.
Der KGS ProtocolWriter ist ein Service-Listener
TiA Core ist ein Service-Listener
Diese Services sind losgelöst voneinander und kennen sich nicht. Dieses Konzept ermöglicht es uns, beliebig viele neue Service-Listener hinzuzufügen oder zu entfernen, ohne den anderen Listener zu beeinflussen.
Remove protocol writer bundle
Möchte man nun z.B. nicht mehr in eine ProtocolWriter DB schreiben, so kann das Bundle “KGS ProtocolWriter” aus dem WAR entfernt werden. Es ist sogar möglich im laufenden Betrieb das Bundle zu stoppen. Ist TiA Core noch in dem WAR enthalten, wird hier weiterhin in Elastic protokolliert, nicht aber mehr in die konfigurierte Datenbank des ProtocolWriters.
Es ist ausreichend den KGS ProtocolWriter (com.software.kgs.plugin.protocol-x.x.x.jar) aus dem WAR zu entfernen. Dieses befindet sich unteret cetera.
The protocol feature can be activated respective deactivated inside product specific configuration.
In case TiA core is used together with a CMIS conform repository, in addition to the ProtocolWriter plugin a TiA Core Module is recording. (e.g. via ElasticSearch)
The implementation is realized as OSGi service. The consuming components are acting as OSGi service consumers. The publish an protocol entry against the IProtocolWrite interface, defines in KGS Core bundle.
If there are several OSGi service listeners, every listener will receive the protocol entry and treat it accordingly.
Currently there are to such listeners existing:
KGS ProtocolWriter plugin
TiA Core
These services (listener) are independently of each other. This concepts empowers us to add or remove new listeners without influence the protocol entry sender nor other protocol listeners.
Remove protocol writer bundle
This section describes how to remove KGS ProtocolWriter bundle from delivered WAR.
It is also possible to remove the bundle during runtime.
In case that TiA Core is still recording, so it is possible to deactivate and remove KGS ProtocolWriter recording.
It is sufficient to remove the KGS ProtocolWriter plugin from WAR file, berfore installing the app into Tomcat.
Inside the WAR it is located in:
<WAR>\WEB-INF\eclipse\plugins\
Eine weitere Anpassung ist nicht notwendigFurther adaptions are not required.
Optional:
OSGi startet Bundles beim starten in einer speziellen Reihenfolge. Diese Reihenfolge ist in starts bundles in a special pre-configured order.
This order is configured inside the WAR in:
<WAR>\WEB-INF\eclipse\configuration\config.ini
festgelegt.
...
Diese kann entfernt werden. Dies muss aber nicht geschehen, da OSGi nur die Bundles in der Reihenfolge startet, die es auch finden kann. Existiert das Bundle “com.software.kgs.plugin.protocol-x.x.x.jar” nicht mehr im eclipse/plugins ordner, so überspringt OSGi den Startvorgang für dieses Bundle.
...