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