

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

`TryDax.java` ファイルには、`main` メソッドが含まれています。コマンドラインパラメータを指定しないでプログラムを実行すると、Amazon DynamoDB クライアントが作成され、すべての API オペレーションでそのクライアントが使用されます。コマンドラインで DynamoDB Accelerator (DAX) クラスターエンドポイントを指定すると、プログラムは DAX クライアントも作成し、`GetItem`、`Query`、`Scan` オペレーションでこれを使用します。

さまざまな方法でプログラムを変更できます。
+ DynamoDB クライアントではなく、DAX クライアントを使用します。詳細については、「[Java および DAX](DAX.client.run-application-java.md)」を参照してください。
+ テストテーブルに別の名前を付けます。
+ `helper.writeData` パラメータを変更して書き込まれる項目の数を変更する。2 番目のパラメータはパーティションキーの数、3 番目のパラメータはソートキーの数です。デフォルトでは、プログラムはパーティションキーの値に 1～10 を使用し、ソートキーの値に 1～10 を使用し、合計で 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)」を参照してください。

```
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);
    }

}
```