All KGS OSGi based products contain 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
The plugin allows the using service to protocol several actions like create, put, get et 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\
Further adaptions are not required.
Optional:
OSGi starts bundles in a special pre-configured order.
This order is configured inside the WAR in:
<WAR>\WEB-INF\eclipse\configuration\config.ini
The marked line can be removed but is not required since OSGi starts only bundle which are available. If the bundle is not found, OSGi just skips the start sequence for these bundle.
If these file is change, pay attention to the syntax. Every line with exception the last one is terminated by a comma, an space and a back slash as line feed.
Further information about this can be found here: /wiki/spaces/WIKI/pages/6750661
The config.ini is evaluated only once at deployment time. Therefore a change of config.ini required a complete redeployment of this WAR-File. Changing the file in already deployed applications does not have any effect.
Zugehörige Konfigurationsdateien
Wird der ProtocolWriter gestartet und es ist noch keine Konfiguration im Vorfeld in dem WAR enthalten (Default-Auslieferung), so legt der ProtocolWriter selbstständig in seinem config-Ordner (…/protocol/) eine neue Konfiguration mit dem Namen “Protocol Service.cfg” an. Dies gilt für alle OSGi Bundles.
Wurde der WAR-Container aber bereits vorkonfiguriert (<WAR>\conf\protocol\Protocol Service.cfg), so kann dieser Ordner (ab inlusive “protocol”) entfernt werden. Diese Dateien sind ohne das Bundle / die JAR Datei verwaist.
Referenzen in anderen Konfigurationsdateien
Der ProtocolWriter kann von vielen KGS Produkten benutzt werden. (Liste: Siehe oben). Jeder dieser KGS Produkte besitzt eine Konfiguration, in der die Einstellungen zum Protokoll gesetzt werden können. Zum Beispiel:
../contentserver/ContentServer.cfg
z.B.
Diese Einträge (KEYs) müssen behalten werden. Es ist erlaubt die Werte (true und false) zu ändern, der gesamte <entry>-Zeile muss aber in der Konfiguration weiterhin existieren.
Die Parameter in den KGS Produkten steuert, ob das Bundle (hier: KGS Contentserver) ein Protokolleintrag an das OSGi weitergibt und welche Art von Protokolleinträgen es weitergibt. Insofern ein zweiter Service-Listener (wie KGS TiA Core [AutoDigit]) im Framework existiert, so wird dieser nur ausgelöst, wenn Protokolle an das OSGi Framework weitergegeben werden.
Ein entfernen hat zur Folge, dass die Werte bei Applikationsstart mit Default-Werten neu geschrieben werden.