我正在研究实现操作的Nuxeo插件。所以我正在使用@Operation@OperationMethod@Context批注。插件的目的是获得LiveEdit链接,问题是我无法获得构建nxedit:URL所需的sessionId。 Nuxeo源代码使用
Manager.instance().getCurrentConversationId()
但我也无法在插件中获取Manager实例。而且似乎无法通过@Context注入Manager实例,它仅返回空值。
先感谢您。

最佳答案

您是否看过Seam.InitContextSeam.RunOperation操作?

两者都调用org.nuxeo.ecm.automation.seam.operations.SeamOperationFilter.handleBeforeRun(OperationContext, String)org.nuxeo.ecm.automation.seam.operations.SeamOperationFilter.initializeSeamContext(OperationContext, String, CoreSession)。然后,sessionId应该可用:

ConversationPropagation.instance().setConversationId(conversationId);
Manager.instance().restoreConversation();

10-07 13:11