【问题标题】:Migrated Workflow models and scripts for 6.3 to 6.5 AEM upgrade, Scripts are not getting picked up用于 6.3 到 6.5 AEM 升级的迁移工作流模型和脚本,脚本没有被拾取
【发布时间】:2019-12-05 07:06:44
【问题描述】:

我将我的 aem 实例从 6.3 迁移到 6.5,模型已迁移并且运行良好。但是带有脚本的工作流不起作用,因为它无法从该位置获取脚本(在将脚本迁移到新位置之前/之后都检查过,它是通过相同的错误)。 OOTB 脚本也没有被选中使用。

错误: 调试 org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResourceFactory createResource:路径中不存在 JCR 项 '/apps/workflow/scripts/mine.ecma' 调试 org.apache.sling.resourceresolver.impl.helper.ResourceResolverControl 资源空 /apps/workflow/scripts/mine.ecma 调试 org.apache.sling.resourceresolver.impl.ResourceResolverImpl getResourceInternal:无法解析路径 '/apps/workflow/scripts/mine.ecma' 到资源 错误 com.adobe.granite.workflow.core.rule.ScriptingRuleEngine 找不到脚本资源 /apps/workflow/scripts/mine.ecma。工作流程 脚本可能需要位于 /libs 或 /apps 中才能执行 错误 com.adobe.granite.workflow.core.rule.RuleEngineAdminImpl 无法评估规则:/apps/workflow/scripts/mine.ecma com.adobe.granite.workflow.WorkflowException:找不到脚本 资源 /apps/workflow/scripts/mine.ecma,确保脚本是 位于 /libs 或 /apps 中 com.adobe.granite.workflow.core.rule.ScriptingRuleEngine.evaluate(ScriptingRuleEngine.jav a:112) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.rule.RuleEngineAdminImpl.evaluate(RuleEngineAdminImpl.jav a:53) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.WorkflowSessionImpl.evaluate(WorkflowSessionImpl.java:136 9) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.jcr.WorkItemManager.resolveTransition(WorkItemManager.jav a:963) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.jcr.WorkItemManager.resolveTransition(WorkItemManager.jav a:991) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.jcr.WorkItemManager.getRoutes(WorkItemManager.java:676) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.WorkflowSessionImpl.getRoutes(WorkflowSessionImpl.java:99 3) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.job.JobHandler.getNextRouteToProcess(JobHandler.java:517) [com.adobe.granite.workflow.core:2.0.240] 在 com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:328) [com.adobe.granite.workflow.core:2.0.240] 在 org.apache.sling.event.impl.jobs.JobConsumerManager$JobConsumerWrapper.process(JobConsume rManager.java:502) [org.apache.sling.event:4.2.12] 在 org.apache.sling.event.impl.jobs.queues.JobQueueImpl.startJob(JobQueueImpl.java:293) [org.apache.sling.event:4.2.12] 在 org.apache.sling.event.impl.jobs.queues.JobQueueImpl.access$100(JobQueueImpl.java:60) [org.apache.sling.event:4.2.12] 在 org.apache.sling.event.impl.jobs.queues.JobQueueImpl$1.run(JobQueueImpl.java:229) [org.apache.sling.event:4.2.12] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)

任何帮助将不胜感激。

【问题讨论】:

  • 你检查jcr:primaryType了吗?此外,ACL 可能是个问题。
  • jcr:primaryType 是 nt:file,这可能是什么 ACL 问题?我必须添加一些权限吗?
  • 如果直接通过浏览器请求文件,是否返回?另外,比较 6.3 和 6.5 的属性。

标签: javascript workflow aem upgrade


【解决方案1】:

我遇到了类似的问题。我得到了:

找不到方法 org.apache.sling.scripting.core.impl.InternalScriptHelper.getService(object)。 (/etc/workflow/scripts/..../*.ecma

我查看了代码,发现我们在获取资源解析器的地方有一个错误,并且似乎它已经改变了,所以而不是

var resolver = sling.getService(Packages.org.apache.sling.jcr.resource.JcrResourceResolverFactory).getResourceResolver(session);

使用了这个,错误消失了

var resolver = sling.getRequest().getResource().getResourceResolver();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2018-11-20
    相关资源
    最近更新 更多