Java 액션 사용하기

자바 액션을 만드는 과정은 자바스크립트(Javascript)와 스위프트(Swift) 액션을 만드는 것과 유사합니다. 아래의 예제를 통해 간단한 자바 액션을 만들고 액션에 파라미터를 추가하여 사용하는 방법을 배우실 수 있습니다.

작성된 액션을 컴파일하고 테스트하기 위해 반드시 JDK 8이 로컬 환경에 설정되어 있어야 합니다.

액션 생성하기

Java 액션은 main 메서드가 있는 Java 프로그램입니다. 따라서 아래의 형식으로 메서드가 반드시 정의되어 있어야 합니다.

public static com.google.gson.JsonObject main(com.google.gson.JsonObject);

예를 들어 Hello.java 파일을 만드는 경우 아래의 코드로 만들 수 있습니다.

import com.google.gson.JsonObject;

public class Hello {
    public static JsonObject main(JsonObject args) {
        String name = "World";
        String place = "Naver";
        if (args.has("name"))
            name = args.getAsJsonPrimitive("name").getAsString();
        if (args.has("place"))
            place = args.getAsJsonPrimitive("place").getAsString();

        JsonObject response = new JsonObject();
        response.addProperty("payload", "Hello, " + name + " in " + place + "!");
        return response;
    }
}

이후 아래의 커맨드로 Hello.java를 JAR 파일 hello.jar로 컴파일합니다.

$ javac Hello.java
$ jar cvf hello.jar Hello.class

참고: Java 파일을 컴파일할 때 google-gson은 반드시 Java CLASSPATH에 포함되어 있어야 합니다.

생성된 hello.jar 파일을 사용하여 'helloJava'라는 이름의 액션을 생성합니다. 메인 클래스를 Hello 클래스로 설정합니다.

compute-15-2-301

만약 클래스가 기본 패키지가 아니라면 com.example.MyMain과 같이 패키지를 포함하는 클래스 이름 FQCN(Java fully-qualified class name)을 사용할 수 있습니다.

compute-15-2-302

또한 Java 액션의 메서드 이름까지 변경하여 사용하고 싶다면 com.example.MyMain#methodName과 같이 메서드 이름을 지정하여 액션을 생성할 수 있습니다.

compute-15-2-303

기본 파라미터 설정하기

매번 액션을 실행할 때마다 파라미터를 전달하는 대신, 특정 파라미터에 기본값을 지정할 수 있습니다. 위에서 생성한 hello 액션의 place 파라미터에, 기본 값을 등록해보도록 하겠습니다.

compute-15-2-105

액션 실행 시 파라미터 전달하기

액션 실행 시 입력으로 파라미터를 전달할 수 있습니다. Main 함수에 전달되는 파라미터는 JSON object 형식으로 전달됩니다.

파라미터는 액션 실행 시 직접 입력하거나, JSON 형식의 파일을 작성하여 전달할 수 있습니다. 파일을 통해 파라미터를 전달하는 경우에는 아래와 같은 JSON 형식의 파일을 작성해야 합니다.

compute-15-2-106

연관 정보 바로가기

아래 가이드에서 연관 정보를 확인할 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...