1212import com .webank .wedatasphere .dss .standard .app .development .utils .DevelopmentOperationUtils ;
1313import com .webank .wedatasphere .dss .standard .app .sso .Workspace ;
1414import com .webank .wedatasphere .dss .standard .common .desc .AppInstance ;
15+ import com .webank .wedatasphere .dss .standard .common .desc .AppInstanceImpl ;
1516import org .apache .linkis .server .Message ;
1617import org .apache .linkis .server .security .SecurityFilter ;
1718import org .slf4j .Logger ;
@@ -33,7 +34,9 @@ public class AppConn2LinkisRefExecutionRestfulApi {
3334
3435 private static final Logger LOGGER = LoggerFactory .getLogger (AppConn2LinkisRefExecutionRestfulApi .class );
3536
37+ private AppInstance emptyAppInstance = new AppInstanceImpl ();
3638
39+ // 仅仅用于表示依赖,希望AppConnManagerRestfulApi先完成所有AppConn的加载之后,本Restful再对外提供服务。
3740 @ Autowired
3841 private AppConnManagerRestfulApi appConnManagerRestfulApi ;
3942
@@ -49,8 +52,10 @@ public Message execute(HttpServletRequest request, @RequestBody Map<String, Obje
4952 OnlyDevelopmentAppConn appConn = (OnlyDevelopmentAppConn ) AppConnManager .getAppConnManager ().getAppConn (appConnName );
5053 AppInstance appInstance ;
5154 List <DSSLabel > labels = Arrays .asList (new EnvDSSLabel (labelStr ));
52- if (appConn .getAppDesc ().getAppInstances ().size () == 1 ) {
53- appInstance = appConn .getAppDesc ().getAppInstances ().get (0 );
55+ // 原则上,AppConn2Linkis类型的AppConn,要么一个AppInstance都没有,要么就需按照AppConn的规范去录入AppInstance.
56+ if (appConn .getAppDesc ().getAppInstances ().isEmpty ()) {
57+ LOGGER .info ("AppConn {} has no appInstance, use empty appInstance to get operation." , appConnName );
58+ appInstance = emptyAppInstance ;
5459 } else {
5560 appInstance = appConn .getAppDesc ().getAppInstancesByLabels (labels ).get (0 );
5661 }
@@ -61,6 +66,7 @@ public Message execute(HttpServletRequest request, @RequestBody Map<String, Obje
6166 developmentRequestRef .setWorkspace (workspace ).setUserName (userName ).setDSSLabels (labels );
6267 return ((AppConn2LinkisRefExecutionOperation ) developmentOperation ).execute ((RefJobContentRequestRef ) developmentRequestRef );
6368 }, null , "fetch linkis jobContent from appConn " + appConnName + " failed." );
69+ LOGGER .info ("user {} transform jobContent from AppConn {} with responseRef {}." , userName , appConnName , DSSCommonUtils .COMMON_GSON .toJson (responseRef ));
6470 return Message .ok ().data ("executionCode" , responseRef .getCode ()).data ("params" , responseRef .getParams ())
6571 .data ("engineType" , responseRef .getEngineType ()).data ("runType" , responseRef .getRunType ());
6672 }
0 commit comments