

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

SDK per Java 2.x per DAX è compatibile con [AWS SDK per Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/). È basato su Java 8\$1 e include il supporto per I/O non bloccanti. Per informazioni sull'utilizzo di DAX con SDK for AWS Java 1.x, consulta. [Uso di DAX con AWS SDK per Java 1.x](DAX.client.java-sdk-v1.md)

## Utilizzo del client come dipendenza Maven
<a name="DAX.client.run-application-java.maven"></a>

Segui queste fasi per utilizzare il client per l'SDK DAX per Java nella tua applicazione come una dipendenza:

1. Scarica e installa Apache Maven. Per ulteriori informazioni, consulta le pagine relative al [download di Apache Maven](https://maven.apache.org/download.cgi) e all'[installazione di Apache Maven](https://maven.apache.org/install.html).

1. Aggiungi la dipendenza Maven client al file POM (Project Object Model) dell'applicazione. In questo esempio, sostituiscilo *x.x.x* con il numero di versione effettivo del client.

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

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

Dopo aver configurato il workspace e aggiunto l'SDK DAX come dipendenza, copiare [TryDax.java](DAX.client.TryDax.java.md) nel progetto.

Eseguire il codice utilizzando questo comando.

```
java -cp classpath TryDax
```

Verrà visualizzato un output simile al seguente.

```
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
...

Running GetItem and Query tests...
First iteration of each test will result in cache misses
Next iterations are cache hits

GetItem test - partition key 1-100 and sort keys 1-10
  Total time: 4390.240 ms - Avg time: 4.390 ms
  Total time: 3097.089 ms - Avg time: 3.097 ms
  Total time: 3273.463 ms - Avg time: 3.273 ms
  Total time: 3353.739 ms - Avg time: 3.354 ms
  Total time: 3533.314 ms - Avg time: 3.533 ms
Query test - partition key 1-100 and sort keys between 2 and 9
  Total time: 475.868 ms - Avg time: 4.759 ms
  Total time: 423.333 ms - Avg time: 4.233 ms
  Total time: 460.271 ms - Avg time: 4.603 ms
  Total time: 397.859 ms - Avg time: 3.979 ms
  Total time: 466.644 ms - Avg time: 4.666 ms

Attempting to delete table; please wait...
Successfully deleted table.
```

Prendi nota delle informazioni sui tempi: il numero di millisecondi richiesto per i test `GetItem` e `Query`. In questo caso, il programma è stato eseguito sull'endpoint DynamoDB. Ora eseguirai di nuovo il programma, questa volta rispetto al cluster DAX.

Per determinare l'endpoint per il cluster DAX, scegli una delle seguenti opzioni:
+ Nella console DynamoDB, seleziona il cluster DAX. L'endpoint del cluster viene visualizzato nella console, come nell'esempio seguente.

  ```
  dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
  ```
+ Usando AWS CLI, inserisci il seguente comando:

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

  L'indirizzo, la porta e l'URL dell'endpoint del cluster vengono visualizzati nell'output, come nell'esempio seguente.

  ```
  {
      "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"
  }
  ```

A questo punto, eseguire di nuovo il programma, ma questa volta specificare l'endpoint del cluster come parametro della riga di comando.

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

Consultare l'output e prendere nota delle informazioni sui tempi. I tempi trascorsi per `GetItem` e `Query` devono essere significativamente più bassi con DAX che con DynamoDB.

## Parametri SDK
<a name="DAX.client.run-application-java.metrics"></a>

Con DAX SDK for Java 2.x, puoi raccogliere metriche sui client di servizio nella tua applicazione e analizzare l'output in Amazon. CloudWatch Per ulteriori informazioni, consulta [Abilitazione dei parametri SDK](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/metrics.html).

**Nota**  
L'SDK DAX per Java raccoglie solo le metriche `ApiCallSuccessful` e `ApiCallDuration`.