【问题标题】:Detect server in Adobe AEM WorkFlow?在 Adob​​e AEM WorkFlow 中检测服务器?
【发布时间】:2017-02-17 09:33:05
【问题描述】:

是否可以检测当前 AEM Workbench Process 在 Adob​​e AEM Workflow 中运行在哪台服务器上?仅当工作流在非生产服务器上运行并且我们希望在生产和非生产服务器上具有相同的工作流时,我们才希望对文档进行水印。

到目前为止,这是我的简单流程:

【问题讨论】:

    标签: adobe workflow aem


    【解决方案1】:

    推荐的方法是为此服务器/环境级别的隔离使用运行模式。

    见: https://docs.adobe.com/docs/en/aem/6-2/deploy/configuring/configure-runmodes.html

    简而言之,您在启动时将运行模式运行时参数传递给您的实例,API 将运行模式暴露给您的逻辑,这些逻辑可以针对特定的运行模式进行更改。这就是 AEM 区分作者和出版商的方式。您可以根据需要传递任意数量的运行模式。例如,一个实例可以有生产和作者或生产和发布模式。

    【讨论】:

    • 好的,但是如何检测 AEM 进程中设置的运行模式?我在您的链接中没有看到任何相关内容。
    • 有几种方法。您可以在这个旧线程中看到一些示例:stackoverflow.com/q/12245751/797375
    • 嗯,我还是不明白。我不知道这方面的JSP。可能是因为我使用了错误的术语。我是这个地区的新手。也许我更新的帖子(带图片)对我试图完成的事情有所了解。
    • AFAIK,工作流中的条件步骤非常原始,调用服务不是一个简单的选择。您可以编写一个自定义工作流程步骤,如下所述:helpx.adobe.com/experience-manager/using/…,您可以在其中检查运行模式(使用上述帖子中的相关 API)。然后您可以根据结果推进或停止工作流程。
    【解决方案2】:

    您可以使用org.apache.sling.settings.SlingSettingsService 来完成此操作

    示例代码 sn-p 可以在您的 JSP 中打印运行模式,如下所示,同样可以在您的 OSGI JAVA 逻辑中使用。

    <%@page import="org.apache.sling.settings.SlingSettingsService%>
    <%
        pageContext.setAttribute("runModes", sling.getService(SlingSettingsService.class).getRunModes().toString());
        %>
    <%= pageContext.getAttribute("runModes") %>
    

    上面的代码 sn-p 将 JSP 中的输出打印为[samplecontent, author, crx3tar, crx3],其中我的本地实例在作者模式下运行,带有示例内容。可以在您的实例中找到/system/console/status-slingsettings

    runmodes

    【讨论】:

      【解决方案3】:

      使用“SlingSettingsService”。可以在您的流程步骤中引用它,如下所示:

      @Component(service = WorkflowProcess.class)
      public class YourWorkflow implements WorkflowProcess{
          
      @Reference private SlingSettingsService slingSettings; ...
      

      您可以使用以下方法检查您的环境:

      @Override
      public void execute(WorkItem workItem, WorkflowSession wfSession, MetaDataMap args) throws WorkflowException {
          if(slingSettings.getRunModes().contains("non-production-run-mode-name")) {
              //TODO: apply watermark
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2015-02-18
        • 2018-03-16
        • 1970-01-01
        • 2020-04-26
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 2014-02-24
        相关资源
        最近更新 更多