liteflow icon indicating copy to clipboard operation
liteflow copied to clipboard

上下文超类判断的获取和转换

Open XieXiaoying opened this issue 1 year ago • 0 comments

一、场景描述

希望有一些通用的node,可以在不同的chain中复用。以直播场景为例,“我关注的正在直播的主播”和“首页直播推荐”这两个场景,我用两个chain编排,其中,都需要查询主播的信息,我希望“查询主播的信息”成为一个通用的算子。

二、尝试的办法

1、继承

为此,我想到一个解决办法,就是定义一个BaseContext,所有想用通用算子的chain的Context,都必须继承BaseContext,我在这个通用的算子里用如下方式获取BaseContext:

BaseContext context = this.getContextBean(BaseContext.class);

报如下错误:

Caused by: com.yomahub.liteflow.exception.NoSuchContextBeanException: this type is not in the context type passed in
	at com.yomahub.liteflow.slot.Slot.getContextBean(Slot.java:464)
	at com.yomahub.liteflow.core.NodeComponent.getContextBean(NodeComponent.java:258)

三、诉求

请教,继承是不是解决此类问题的比较合适的办法,希望后续迭代针对这个场景的能力。

XieXiaoying avatar Jul 11 '24 09:07 XieXiaoying