

# Uso de DAX con SDK de AWS para Java 1.x
<a name="DAX.client.java-sdk-v1"></a>

Siga este procedimiento para ejecutar el ejemplo de Java para Amazon DynamoDB Accelerator (DAX) en su instancia de Amazon EC2.

**nota**  
Estas instrucciones son para aplicaciones que utilizan SDK de AWS para Java 1.x. Para aplicaciones que utilizan SDK de AWS para Java 2.x, consulte [Java y DAX](DAX.client.run-application-java.md).

**Para ejecutar el ejemplo de Java para DAX**

1. Instale el kit de desarrollo de Java (JDK).

   ```
   sudo yum install -y java-devel
   ```

1. Descargue el archivo del AWS SDK para Java (archivo `.zip`) y, a continuación, extráigalo.

   ```
   wget http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip
   
   unzip aws-java-sdk.zip
   ```

1. Descargue en la última versión del cliente Java de DAX; (archivo `.jar`):

   ```
   wget http://dax-sdk.s3-website-us-west-2.amazonaws.com/java/DaxJavaClient-latest.jar
   ```
**nota**  
El cliente del SDK de DAX para Java está disponible en Apache Maven. Para obtener más información, consulte [Uso del cliente como dependencia de Apache Maven](#DAXClient.Maven).

1. Establezca la variable `CLASSPATH`. En este ejemplo, sustituya `sdkVersion` por el número de versión real de AWS SDK para Java, (por ejemplo: `1.11.112`).

   ```
   export SDKVERSION=sdkVersion
   
   export CLASSPATH=$(pwd)/TryDax/java:$(pwd)/DaxJavaClient-latest.jar:$(pwd)/aws-java-sdk-$SDKVERSION/lib/aws-java-sdk-$SDKVERSION.jar:$(pwd)/aws-java-sdk-$SDKVERSION/third-party/lib/*
   ```

1. Descargue el código fuente del programa de ejemplo (archivo `.zip`).

   ```
   wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip
   ```

   Cuando haya terminado la descarga, extraiga los archivos de código fuente.

   ```
   unzip TryDax.zip
   ```

1. Navegue hasta el directorio de código Java y compile el código de la siguiente manera.

   ```
   cd TryDax/java/
   javac TryDax*.java
   ```

1. Ejecute el programa.

   ```
   java TryDax
   ```

   Debería ver un resultado similar a este.

   ```
   Creating a DynamoDB client
   
   Attempting to create table; please wait...
   Successfully created table.  Table status: ACTIVE
   Writing data to the table...
   Writing 10 items for partition key: 1
   Writing 10 items for partition key: 2
   Writing 10 items for partition key: 3
   Writing 10 items for partition key: 4
   Writing 10 items for partition key: 5
   Writing 10 items for partition key: 6
   Writing 10 items for partition key: 7
   Writing 10 items for partition key: 8
   Writing 10 items for partition key: 9
   Writing 10 items for partition key: 10
   
   Running GetItem, Scan, and Query tests...
   First iteration of each test will result in cache misses
   Next iterations are cache hits
   
   GetItem test - partition key 1 and sort keys 1-10
   	Total time: 136.681 ms - Avg time: 13.668 ms
   	Total time: 122.632 ms - Avg time: 12.263 ms
   	Total time: 167.762 ms - Avg time: 16.776 ms
   	Total time: 108.130 ms - Avg time: 10.813 ms
   	Total time: 137.890 ms - Avg time: 13.789 ms
   Query test - partition key 5 and sort keys between 2 and 9
   	Total time: 13.560 ms - Avg time: 2.712 ms
   	Total time: 11.339 ms - Avg time: 2.268 ms
   	Total time: 7.809 ms - Avg time: 1.562 ms
   	Total time: 10.736 ms - Avg time: 2.147 ms
   	Total time: 12.122 ms - Avg time: 2.424 ms
   Scan test - all items in the table
   	Total time: 58.952 ms - Avg time: 11.790 ms
   	Total time: 25.507 ms - Avg time: 5.101 ms
   	Total time: 37.660 ms - Avg time: 7.532 ms
   	Total time: 26.781 ms - Avg time: 5.356 ms
   	Total time: 46.076 ms - Avg time: 9.215 ms
   
   Attempting to delete table; please wait...
   Successfully deleted table.
   ```

   Tome nota de la información de tiempo; es decir, del número de milisegundos necesarios para realizar las pruebas de `GetItem`, `Query` y `Scan`.

1. En el paso anterior, ha ejecutado el programa en el punto de enlace de DynamoDB. Ahora, ejecute el programa de nuevo, pero, esta vez, las operaciones `GetItem`, `Query` y `Scan` se procesan en el clúster de DAX.

   Para determinar el punto de enlace del clúster de DAX, elija una de las opciones siguientes:
   + **En la consola de DynamoDB**: elija su clúster de DAX. El punto de enlace del clúster se muestra en la consola, como en el siguiente ejemplo.

     ```
     dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
     ```
   + **En la AWS CLI**: ingrese el siguiente comando.

     ```
     aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"
     ```

     El punto de enlace del clúster se muestra en el resultado, como en el siguiente ejemplo.

     ```
     {
         "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com",
         "Port": 8111,
         "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com"
     }
     ```

   Ahora, vuelva a ejecutar el programa, pero, esta vez, especifique el punto de enlace del clúster como parámetro en la línea de comandos.

   ```
   java TryDax dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
   ```

   Fíjese en el resto del resultado y tome nota de la información sobre tiempos. Los tiempos transcurridos para las operaciones `GetItem`, `Query` y `Scan` deberían ser significativamente menores con DAX que con DynamoDB.

Para obtener más información sobre este programa, consulte las siguientes secciones:
+ [TryDax.java](DAX.client.run-application-java.TryDax.md)
+ [TryDaxHelper.java](DAX.client.run-application-java.TryDaxHelper.md)
+ [TryDaxTests.java](DAX.client.run-application-java.TryDaxTests.md)

## Uso del cliente como dependencia de Apache Maven
<a name="DAXClient.Maven"></a>

Siga estos pasos para utilizar el cliente para el SDK de DAX para Java en su aplicación como una dependencia.

**Para usar el cliente como una dependencia de Maven**

1. Descargue e instale Apache Maven. Para obtener más información, consulte [Downloading Apache Maven](https://maven.apache.org/download.cgi) e [Installing Apache Maven](https://maven.apache.org/install.html).

1. Agregue la dependencia de Maven del cliente al archivo POM (Project Object Model) de la aplicación. En este ejemplo, sustituya `x.x.x.x` por el número de versión real del cliente (por ejemplo: `1.0.200704.0`).

   ```
   <!--Dependency:-->
   <dependencies>
       <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>amazon-dax-client</artifactId>
        <version>x.x.x.x</version>
       </dependency>
   </dependencies>
   ```