Automation Anywhere 설명서 읽기 및 검토

Automation Anywhere Automation 360

콘텐츠 닫기

콘텐츠

콘텐츠 열기

패키지 SDK를 사용하여 공유 세션 특성 구성

  • 업데이트: 2021/05/12

    패키지 SDK를 사용하여 공유 세션 특성 구성

    새 패키지 SDK 파일을 생성하고 기존 파일을 수정하여 TaskBots 간에 공유할 변수, 명령, 특성 유형을 구성합니다.

    패키지 템플릿에 세션 유형 추가

    <latest package sdk zip file>\src\main\resources에 있는 패키지 템플릿을 열고, sessionType: label과 선택사항인 description을 추가합니다.

    {
      "name": "A2019DemoPackage",
      "label": "[[label]]",
      "description": "[[description]]",
      "sessionType" : {
        	"label" : "testdemo",
        	"description" : "sharedSessionDemo"
        },
      "group": "",
      "artifactName": "",
      "packageVersion": "",
      "codeVersion": "",
      "author": "",
      "commands": []
    }

    새 사용자 지정 변수 생성

    DemoForSession 파일을 생성하여 다음 위치에 배치합니다. <latest package sdk zip file>/src/main/java/com/automationanywhere/botcommand/samples/commands/basic

    이 파일을 사용하여 TaskBots 간에 세부 정보를 공유할 사용자 지정 변수(Dto 클래스)를 생성하고 CloseableSessionObject 변수를 구현합니다.

    package com.automationanywhere.botcommand.samples.commands.basic;
    import com.automationanywhere.toolchain.runtime.session.CloseableSessionObject;
    import java.io.IOException;
    public class DemoForSession implements CloseableSessionObject
    {
        public void setClose(boolean close) {
            this.close = close;
        }
        boolean close=false;
        public String getDemo() {
            return demo;
        }
        public void setDemo(String demo) {
            this.demo = demo;
        }
        public DemoForSession(String demo){
            this.demo=demo;
        }
        String demo;
        @Override
        public boolean isClosed() {
            return close;
        }
        @Override
        public void close() throws IOException {
        }
    }

    새 명령 생성

    DemoForSession 파일을 사용하여 공용 sessionMap에서 SharedSessionDemoUpperCaseParent를 검색하는 명령을 개발하고 sessionMap 객체에 할당합니다.

    package com.automationanywhere.botcommand.samples.commands.basic;
    import com.automationanywhere.botcommand.data.Value;
    import com.automationanywhere.botcommand.data.impl.SessionValue;
    import com.automationanywhere.botcommand.data.impl.StringValue;
    import com.automationanywhere.commandsdk.annotations.*;
    import com.automationanywhere.commandsdk.annotations.rules.NotEmpty;
    
    import java.util.Map;
    
    import static com.automationanywhere.commandsdk.model.AttributeType.TEXT;
    import static com.automationanywhere.commandsdk.model.DataType.SESSION;
    import static com.automationanywhere.commandsdk.model.DataType.STRING;
    
    @BotCommand
    @CommandPkg(return_label = "SharedSessionDemoUpperCaseParent", node_label = "SharedSessionDemoUpperCaseParent", label = "SharedSessionDemoUpperCaseParent", description = "SharedSessionDemoUpperCaseParent", name = "SharedSessionDemoUpperCaseParent", return_type = SESSION, return_required = true)
    public class SharedSessionDemoUpperCaseParent {
    
        public void setSessionMap(Map<String, Object> sessionMap) {
            this.sessionMap = sessionMap;
        }
        @Sessions
        private Map<String, Object> sessionMap;
    
        @Execute
        public Value<?> execute(@Idx(index = "1", type = TEXT)
                                @Pkg(label = "SetSession", description = "SetSession", default_value = "Default", default_value_type = STRING)
                                @NotEmpty
                                        String session) {
            Object sessionObject = sessionMap.get(session);
    
            System.out.println("sessionObject: "+sessionObject);
            SessionValue sessionValue=new SessionValue((DemoForSession) sessionObject);
            sessionValue.set(session);
            return sessionValue;
        }
    }

    attributeType을 구성합니다. Session

    SharedSessionDemoUpperCaseChild 파일에서 sharedSession 매개변수의 attributeType.Session 을 구성합니다.

    @Idx(index = "3", type = AttributeType.SESSION)
    
    @Pkg(label = "sharedSession", description = "sharedSession", 
    
          default_value = "Default", default_value_type = DataType.SESSION)
    
          SharedSessionDemoUpperCaseChild session
    
    피드백을 보내주십시오