Jar 吊索运行模式的优先顺序

Jar 吊索运行模式的优先顺序,jar,aem,sling,operator-precedence,Jar,Aem,Sling,Operator Precedence,我对这个问题有疑问 Question: What is the correct order of precedence to setup runmodes in aem? (From left to right, left beign the highest)? A. System property, Sling properties file, jar file B. jar file, sling properties file, system property C. Sling prop

我对这个问题有疑问

Question: What is the correct order of precedence to setup runmodes in aem? (From left to right, left beign the highest)?

A. System property, Sling properties file, jar file
B. jar file, sling properties file, system property
C. Sling properties file, jar file, system property
D. jar file, System property, Sling properties file

Answer : B
我查阅了各种文件,并为此做了多次实验

根据顺序是-Sling.properties、系统属性、jar文件

类似地,有一个相互矛盾的意见-jar文件,sling.properties,system属性

另外,表示选项D
(-D)
的任何属性以n=v的方式设置,将覆盖sling.properties文件中相同的命名属性。这意味着系统属性的优先级高于sling.properties

现在,这些都是根据文件,我所做的实验是-

我创建了一个路径${dir}/crx quickstart/conf,创建了一个文件sling.properties,并编写了
sling.run.modes=publish
。然后将jar文件重命名为
cq-author-7502.jar
。然后使用命令java-jar cq-author-7502.jar-Dsling.run.modes=prod运行这个jar

这是我的观察:
1.当jar运行时,
将“sling.run.modes”设置为“publish”from sling.properties。
此消息显示在终端中。
2.实例将以作者模式启动。和
3.当我在中检查实例模式时,它是prod

我完全搞不清优先顺序。因为我觉得一切都是矛盾的

如果有人能解释一下,我将不胜感激


谢谢

我认为这取决于我们何时检查运行模式优先级、安装时或以后对正在运行的实例进行检查,以及我们如何启动实例。有两种运行模式。安装时运行模式、自定义运行模式

  • 安装时间运行模式-如和所述,安装时只能设置一次。这包括
    作者
    发布
    样本内容
    样本内容
  • 自定义运行模式-拥有自定义运行模式,例如
    dev
    qa
    prod
我做了一些测试(AEM 6.1),优先级按以下方式工作

初始设置

  • 启动jar(通过双击)-在这里,您没有在
    sling.properties
    中设置运行模式的选项,请第一次启动脚本。JAR名称优先
  • 解包jar并将运行模式指定为启动脚本中的系统属性-这里没有jar名称。在这种情况下,您没有在
    sling.properties
    中设置运行模式的选项。系统属性优先
正在运行的实例

  • 即使我们在JAR名称中更改运行模式,它也不会更改安装时运行模式。对于自定义运行模式,JAR文件名不适用。优先级顺序是
    sling.properties
    ->指定-r选项(命令行jar选项)->系统属性(启动脚本)

就问题而言(似乎是AEM认证问题),他们所问的上下文并不清楚。Helpx文章由社区提供,上下文可能不同。吊索文档链接(根据AEM中的launchpad版本,似乎是旧版本,而不是2.4.0)。需要请Adobe确认:)。

Adobe有两篇相互冲突的文章,它们的表述完全不同

第1条:(假设为较近期)

如果已定义,则使用特定运行模式启动CQ 多个运行模式的配置,然后您需要定义 在启动时使用。有几种方法可以指定 使用哪种运行模式;决议的顺序是:

sling.properties文件
-r选项
系统属性(-D)
文件名检测

根据该参考资料:-答案是C

第2条:

运行模式被指定为运行模式的多种方式时的行为 在jar文件的命名中指定的优先权。如果运行模式 在jar文件的命名中没有指定 使用sling.properties文件。如果中未指定运行模式 jar文件或sling.properties文件的命名 使用系统属性(或JVM参数)

根据该参考资料:-答案是B


然而,根据我的经验和排除过程,我会选择答案B。

来自“当使用上述运行模式之一(作者、发布、样本内容、样本内容)时”,安装时使用的值定义了该安装的整个生命周期内的运行模式。对于这些运行模式,您不能在安装后更改它们。“@Sandepkumar谢谢。我完全同意你的观点。但是,当我在不同的地方指定不同的运行模式时,比如jar文件、sling.properties或系统属性,哪个运行模式实例会选择?非常好的解释。。。我会在adobe论坛上问同样的问题。谢谢。:)你可能还想看看这些。它们解释了选项和安装选项之间的区别。