在AEM servlet中,我设置了OSGI配置的四个默认值。我第一次构建项目时,在Felix控制台中,我可以看到四个osgi配置。但是一旦我更新配置,就会发生以下情况。有人可以确认这是否是OSGI的工作方式。
一旦我更新/删除了配置(至少有一个配置),如果我再次构建,则不会恢复默认值。它仍处于先前修改状态。我认为是正确的行为。请确认。
由于这是类型数组,当我从Felix控制台删除所有默认配置时,如果我再次构建,则会恢复默认值。此行为与上述方案不同。为什么会这样?
@Property(value = {“gophone”,“mobile”,“tablet”,“desktop”},无界= PropertyUnbounded.ARRAY,基数= 50,label =“阻止的网址”, description =“被阻止的网址”) private static final String URLS_LIST =“blockedUrls”;
答案 0 :(得分:1)
当您从控制台更改OSGI配置时,新配置将存储在/apps/system/config/<your config PID>
因此,方案1是正确的行为,如果您修改OSGI配置,然后重新部署您的servlet,新配置将保持不变。
对于方案2,我不认为是这样的,当你清空配置并保存它时,它被存储为/apps/system/config/<your config PID>
中的空配置,重新部署将不显示默认值osgi控制台。从osgi控制台删除所有配置后,检查配置文件是否已删除。