

# TryDax.java
<a name="DAX.client.run-application-java.TryDax"></a>

`TryDax.java` 파일에는 `main` 메서드가 포함되어 있습니다. 명령줄 파라미터 없이 프로그램을 실행하면 Amazon DynamoDB 클라이언트가 생성되며 모든 API 작업에 해당 클라이언트가 사용됩니다. 명령줄에 DynamoDB 액셀러레이터(DAX) 클러스터 엔드포인트를 지정하면 DAX 클라이언트도 생성되며 `GetItem`, `Query` 및 `Scan` 작업에 이 클라이언트가 사용됩니다.

여러 가지 방법으로 프로그램을 수정할 수 있습니다.
+ DAX 클라이언트 대신 DynamoDB 클라이언트를 사용합니다. 자세한 내용은 [Java 및 DAX](DAX.client.run-application-java.md) 단원을 참조하십시오.
+ 테스트 테이블에 다른 이름을 선택합니다.
+ `helper.writeData` 파라미터를 변경하여 기록된 항목 수를 수정합니다. 두 번째 파라미터는 파티션 키 개수이며 세 번째 파라미터는 정렬 키 개수입니다. 기본적으로 프로그램은 파티션 키 값에 1\$110개 항목을, 정렬 키 값에 1\$110개 항목을 사용하여 총 100개의 항목을 테이블에 기록합니다. 자세한 내용은 [TryDaxHelper.java](DAX.client.run-application-java.TryDaxHelper.md) 단원을 참조하십시오.
+ `GetItem`, `Query` 및 `Scan` 테스트 개수를 수정하고 해당 파라미터를 수정합니다.
+ `helper.createTable` 및 `helper.deleteTable`을 포함하는 행을 주석으로 처리합니다(프로그램을 실행할 때마다 테이블을 생성 및 삭제하지 않으려는 경우).

**참고**  
이 프로그램을 실행하려면 DAX SDK for Java 클라이언트와 AWS SDK for Java를 종속 항목으로 사용하도록 Maven을 설정합니다. 자세한 내용은 [클라이언트를 Apache Maven 종속 항목으로 사용](DAX.client.java-sdk-v1.md#DAXClient.Maven) 단원을 참조하십시오.  
또는 DAX Java 클라이언트와 AWS SDK for Java를 다운로드하여 해당 클래스 경로(classpath)에 포함할 수 있습니다. [Java 및 DAX](DAX.client.run-application-java.md) 변수를 설정하는 예제는 `CLASSPATH` 단원을 참조하세요.

```
public class TryDax {

    public static void main(String[] args) throws Exception {

        TryDaxHelper helper = new TryDaxHelper();
        TryDaxTests tests = new TryDaxTests();

        DynamoDB ddbClient = helper.getDynamoDBClient();
        DynamoDB daxClient = null;
        if (args.length >= 1) {
            daxClient = helper.getDaxClient(args[0]);
        }

        String tableName = "TryDaxTable";

        System.out.println("Creating table...");
        helper.createTable(tableName, ddbClient);
        System.out.println("Populating table...");
        helper.writeData(tableName, ddbClient, 10, 10);

        DynamoDB testClient = null;
        if (daxClient != null) {
            testClient = daxClient;
        } else {
            testClient = ddbClient;
        }

        System.out.println("Running GetItem, Scan, and Query tests...");
        System.out.println("First iteration of each test will result in cache misses");
        System.out.println("Next iterations are cache hits\n");

        // GetItem
        tests.getItemTest(tableName, testClient, 1, 10, 5);

        // Query
        tests.queryTest(tableName, testClient, 5, 2, 9, 5);

        // Scan
        tests.scanTest(tableName, testClient, 5);

        helper.deleteTable(tableName, ddbClient);
    }

}
```