Im AEM-Servlet habe ich die vier Standardwerte der OSGI-Konfiguration festgelegt. Das erste Mal, wenn ich das Projekt erstelle, sehe ich in der Felix-Konsole vier osgi-Konfigurationen. Aber sobald ich die Konfigurationen aktualisiere, passieren folgende Szenarien. Kann jemand bitte bestätigen, ob OSGI so funktioniert?Standardwerte in der OSGI-Konfiguration in AEM
Sobald ich aktualisieren/löschen Sie die Konfigurationen (mindestens eine Config da ist), und wenn ich wieder bauen, Standardwerte zurückgesetzt immer nicht. Es bleibt im vorherigen modifizierten Zustand. Ich denke, ist das richtige Verhalten. Bitte bestätigen.
Da dies vom Typ Array ist, wenn ich alle Standardkonfigurationen von Felix-Konsole zu löschen, und wenn ich neu zu bauen, dann werden Standardwerte wiederhergestellt. Dieses Verhalten unterscheidet sich vom obigen Szenario. Warum ist das so?
@property (Wert = { "GoPhone", "mobil", "Tablet", "Desktop"}, unbeschränkten = PropertyUnbounded.ARRAY, Kardinalität = 50, label = "Blockierte URLs" description = „Blocked URLs ") private statische endgültige Zeichenfolge URLS_LIST =" blockedUrls ";
für Szenario 2 wird es als leere Konfiguration in crxde gespeichert, wenn ich alle Einträge von der Felix-Konsole lösche. Aber wenn ich die Felix-Konsolenseite aktualisiere, werden Standardwerte dort angezeigt mit (Warnhinweis und Dreieckszeichen - dass die Eigenschaft nicht gesetzt ist. Das obige Feld enthält den Standardwert, der im Meta-Typ-Service angegeben ist). Aber config ist immer noch leer in crxde. Sobald ich Standardkonfigurationen in der felix-Konsole speichere, geht dieses dreieckige Symbol weg und Werte werden in der crxde gespeichert. Ist das erwartetes Verhalten? – user2581831