Eine allgemeine Konfiguration kann durch eine speziellere Konfiguration überschrieben werden. Diese Reihenfolge wird durch mehrere Faktoren bestimmt:
metaConf.txt DateienDabei bestimmt die Kategorie der Konfigurationsdatei die grobe Position in der oben angegebenen Reihenfolge. Das heißt zum Beispiel, alle "normalen Konfigurationen" kommen vor allen "Test-Konfigurationen". Die metaConf Dateien legen die Reihenfolge zwischen Dateien derselben Kategorie im selben Projekt fest. Außerdem regeln die metaConf Dateien, welche Konfigurationsdateien überhaupt verwendet werden.
-Dproject.developer=${project.developer}ApplicationTestSetup.setupApplication(...) nutzen.ApplicationTestSetup.setupTestApplication(...) verwendet werden.metaConf.txt und metaConf.txt.local Dateien stehen.com.top_logic.basic/webapp/WEB-INF/conf/tl_basic.xmlcom.top_logic/webapp/WEB-INF/conf/top-logic.xmlcom.top_logic.element/webapp/WEB-INF/conf/ElementConf.xmlTest-Konfigurationen werden nur für Tests verwendet. Sie dienen dazu Einstellungen vorzunehmen, die nur für Tests notwendig sind. Damit soll verhindert werden, Konfigurationen in der produktiven Anwendung vorzunehmen, die nur für Tests notwendig sind.
ConfigLoaderTestUtil.setupConnectionPoolRegistry().com.top_logic.basic/test/webapp/WEB-INF/conf/testingConnectionPool.xmlcom.top_logic.basic/test/webapp/WEB-INF/conf/test-with-mysql.xmlcom.top_logic.basic/test/webapp/WEB-INF/conf/test-with-h2.xml.test.xml endet.com.top_logic.element lädt also nur die element.test.xml, nicht aber die top-logic.test.xml.webapp-Verzeichnisbaum, um sie von den normalen Konfigurationsdateien getrennt zu halten.
com.top_logic/webapp/WEB-INF/conf/com.top_logic/test/webapp/WEB-INF/conf/com.top_logic/test/webapp/WEB-INF/conf/top-logic.test.xmlcom.top_logic.element/test/webapp/WEB-INF/conf/element.test.xml/bin/launch/conf/config-xxx.xml
-Dproject.developer=${project.developer} definiert.
project.developer ist ein in Eclipse eingetragener Parameter der durch das Entwickler-Kürzel ersetzt wird.config-abc.xml) kann entsprechend ihres Inhalts auf die Projekte verteilt werden und wird dann wie die normalen Konfigurationen aus allen Projekten zusammengesetzt.deploydeploy/localIn diesen Ordnern gibt es eine weitere webapp Struktur. Diese enthält Konfigurationen, die nur für dieses Eclipse-Projekt verwendet werden sollen. Wenn andere Projekte von diesem Projekt anleiten, verwenden sie diese Dateien nicht.
In der B.O.S.-Infrastruktur wird dieser Ordner außerdem für das Deployment verwendet. Wenn kein anderer deploy Ordner angegeben wird, wird der oberste deploy/local Ordner verwendet. In com.top_logic ist dort die H2-Datenbank eingetragen. Dadurch können Anwendungen ohne zusätzliche Einstellungen deployt werden.
Dieser Ordner kommt unmittelbar nach der normalen Konfiguration des Eclipse-Projektes. Dadurch können hier Einstellungen der normalen Anwendungskonfiguration überschrieben werden.
deploy/privateIn diesen Ordnern gibt es eine weitere webapp Struktur. Diese enthält Konfigurationen, die nur innerhalb der B.O.S. verwendet werden. Zum Beispiel die Einstellungen für unseren LDAP-Server. Dateien in diesen Ordnern werden nicht in .war Dateien übernommen und nicht im TL-Studio ausgeliefert.
In der B.O.S.-Infrastruktur wird dieser Ordner für Deployments verwendet, wenn kein deploy-Ordner angegeben wurde. Siehe auch: Docker Deployment
Die deploy/private Ordner kommen nach dem normalen webabb Ordner ihres Projektes. Sie kommen auch nach einem eventuellen deploy/local Ordner. Dadurch können hier allgemeine Einstellungen innerhalb der B.O.S.-Infrastruktur vorgenommen werden, die die normalen Projekt-Einstellungen überschreiben.
Der deploy/private Ordner eines Projektes kommt vor allen webapp und deploy Ordnern von abhängigen Projekten. Beispiel:
com.top_logic.demo\deploy\private\webappcom.top_logic.demo\deploy\local\webappcom.top_logic.demo\webappcom.top_logic.element\deploy\private\webappcom.top_logic.element\webappmetaConf.txtmetaConf.txt Datei. Diese befindet sich unter webapp/WEB-INF/conf.metaConf.txt. Diese definiert welche normalen Konfigurationsdateien eingebunden werden, und in welcher Reihenfolge. Das gilt für dieses Eclipse-Projekt selber sowie alle abhängigen Eclipse Projekte.metaConf.txt.local Dateien gibt es nicht mehr. Deren Funktion wurde von den deploy/local Ordnern übernommen.Die laufende Anwendung mit einem Breakpoint anhalten und in der Eclipse-View namens "Debug Shell" folgenden Code ausführen:
com.top_logic.basic.XMLProperties.getInstance().toString()
Das liefert die Reihenfolge der Konfigurationsdateien. Beispiel:
com.top_logic.basic.XMLProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.basic\webapp\WEB-INF\conf\tl_basic.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.basic\webapp\WEB-INF\conf\devel-host.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.convert\webapp\WEB-INF\conf\tl_convert.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.dob\webapp\WEB-INF\conf\tl_dob.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.dsa\webapp\WEB-INF\conf\tl_dsa.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.basic.db\webapp\WEB-INF\conf\basicDbConf.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.basic.db.schema\webapp\WEB-INF\conf\basicDbSchemaConf.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic.dob.persist\webapp\WEB-INF\conf\dobPersistConf.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic\webapp\WEB-INF\conf\top-logic.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic\webapp\WEB-INF\conf\devel-appdata.xml']
com.top_logic.basic.MultiProperties [BinaryContent: 'file:D:\development\workspaces\prime_0\com.top_logic\webapp\WEB-INF\conf\devel-smtpTestConf.xml']
...
-Dtl.test.defaultDB=h2-Dtl.test.onlyDefaultDB=true