gpt4 book ai didi

java - 如何从 JavaDelegate - serviceTask 获取存储在 alfresco 存储库中的文件?

转载 作者:行者123 更新时间:2023-12-01 17:47:20 26 4
gpt4 key购买 nike

向社区问好!我正在使用 alfresco 社区版 6.0.0,目前我正在尝试实现一个工作流程,其中我有一个 serviceTask 调用实现 JavaDelegate 的自定义类> 类。

bpmn 中的 serviceTask 代码:

<serviceTask id="delegate"
activiti:class="org.nick.java.GenerateDocument"
name="Get the document">
</serviceTask>

Java 委托(delegate)类

public class GenerateDocument implements JavaDelegate {
@Autowired
RelatedContentService relatedContentService;

public void execute(DelegateExecution execution) throws Exception {
ProcessEngine p = ProcessEngines.getDefaultProcessEngine();

}
}

我想做的是服务任务调用GenerateDocument类,我可以以某种方式检索存储在我的露天存储库中的文档(我知道它的名称和ID,以防需要方法)。

理想情况下,如果我检索此文件,我想对其进行更改并将其另存为露天存储库中的新文件?上述场景可行吗?根据我迄今为止在网络上的搜索,我可能需要这个 RelatedContentService relatedContentService 来执行此操作,这是正确的吗?

提前感谢您的帮助:)

最佳答案

在嵌入 Alfresco 的 Activiti 中运行 JavaDelegates 的一个很酷的地方是您可以访问 ServiceRegistry。从那里你可以获得任何你可能需要的 bean 。

例如,假设您的 JavaDelegate 需要运行 Alfresco 操作。您可以使用 ServiceRegistry 来获取 ActionService,然后就可以了:

    ActionService actionService = getServiceRegistry().getActionService();
Action mailAction = actionService.createAction(MailActionExecuter.NAME);
mailAction.setParameterValue(MailActionExecuter.PARAM_SUBJECT, SUBJECT);
mailAction.setParameterValue(MailActionExecuter.PARAM_TO, notificationEmailAddress);

在您的情况下,如果您想查找节点,您可能需要使用 SearchService 来运行查询或使用其节点引用来查找节点。

查看 Alfresco 基础 Java API,了解可用于查找、更新和创建节点的服务集合。

关于java - 如何从 JavaDelegate - serviceTask 获取存储在 alfresco 存储库中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53656480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com