

# 修改现有应用程序以使用 DAX
<a name="DAX.client.modify-your-app"></a>

如果已经有使用 Amazon DynamoDB 的 Java 应用程序，可以修改以访问 DynamoDB Accelerator (DAX) 集群。您无需重写整个应用程序，因为 DAX Java 客户端与 Amazon SDK for Java 2.x 包含的 DynamoDB 低级别客户端非常相似。请参见[在 DynamoDB 中使用项目](https://docs.amazonaws.cn/sdk-for-java/latest/developer-guide/examples-dynamodb-items.html)了解详细信息。

**注意**  
此示例使用 Amazon SDK for Java 2.x。有关 SDK for Java 1.x 旧版本，请参阅 [修改现有适用于 Java 的 SDK 1.x 应用程序以使用 DAX](DAX.client.modify-your-app.java-sdk-v1.md)。

要修改程序，请将 DynamoDB 客户端替换为 DAX 客户端。

```
Region region = Region.US_EAST_1;

// Create an asynchronous DynamoDB client
DynamoDbAsyncClient client = DynamoDbAsyncClient.builder()
                .region(region)
                .build();

// Create an asynchronous DAX client
DynamoDbAsyncClient client = ClusterDaxAsyncClient.builder()
                .overrideConfiguration(Configuration.builder()
                    .url(<cluster url>) // for example, "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com"
                    .region(region)
                    .addMetricPublisher(cloudWatchMetricsPub) // optionally enable SDK metric collection
                    .build())
                .build();
```

还可以使用 Amazon SDK for Java 2.x 的高级库，用 DAX 客户端替换 DynamoDB 客户端。

```
Region region = Region.US_EAST_1;
DynamoDbAsyncClient dax = ClusterDaxAsyncClient.builder()
        .overrideConfiguration(Configuration.builder()
            .url(<cluster url>) // for example, "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com"
            .region(region)
            .build())
        .build();

DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder()
        .dynamoDbClient(dax)
        .build();
```

有关更多信息，请参见[映射 DynamoDB 表中的项目](https://docs.amazonaws.cn/sdk-for-java/latest/developer-guide/examples-dynamodb-enhanced.html)。